1. some( )方法

定义和用法

some() 方法用于检测数组中的元素是否满足某条件
some()方***依次执行数组中的每一个元素:

  • 如果有一个元素满足条件,则返回true;剩余元素不会再执行检测
  • 如果没有满足条件的元素,则返回false
    注意:some 不会对空数组进行检测;some 不会改变原数组

使用案例

/* 检测数据是否含有 19 */
let arr = [3,6,18,19,20]
arr.some(v => v == 19) // true

/* 检测person 是否有 name 为weiwei 的人*/
let persons = [
  {
    'name' : 'yuyu', age: 17, sex: '男' },
  {
    'name' : 'weiwei', age: 20, sex: '女' },
]
persons.some( p => p.name == 'weiwei') //true

2. filter( )方法

定义和用法

filter() 方法返回符合条件的元素

使用案例
/* 返回符合元素合集 */
let persons = [
  {
    'name' : 'yuyu', age: 17, sex: '男' },
  {
    'name' : 'weiwei', age: 20, sex: '女' },
  {
    'name' : 'tiantian', age: 20, sex: '女' },
  {
    'name' : 'liuliu', age: 20, sex: '女' },
]

let womens = persons.filter( p => p.sex == "女")

console.log(womens);  
/**
[
  {
    name: 'weiwei', age: 20, sex: '女' },
  {
    name: 'tiantian', age: 20, sex: '女' },
  {
    name: 'liuliu', age: 20, sex: '女' }
]
 */

3. find()方法

定义和用法

find 方法返回符合条件的第一个元素
find 方法为数组中的每一个元素都进行一次条件验证

  • 符合查找到第一个符合条件元素, find 返回符合条件元素;没有符合条件元素返回undefined

注意: find 不会对空数组进行执行
注意: find 不会改变原数组

使用案例
/* 返回第一个符合条件元素 */
let persons = [
  {
    'name' : 'yuyu', age: 17, sex: '男' },
  {
    'name' : 'weiwei', age: 20, sex: '女' },
  {
    'name' : 'tiantian', age: 20, sex: '女' },
  {
    'name' : 'liuliu', age: 20, sex: '女' },
]

let womens = persons.find( p => p.sex == "女")

let animal = persons.find( p => p.sex == '动物')

console.log(womens);  
/**
  {
    name: 'weiwei', age: 20, sex: '女' }
 */
console.log(animal); //undefined

4. for…in 和 for…of遍历方法

for…in 语句用于对数组或者对象的属性进行循环操作

let arr = [1,2,3,4,5,6]
let obj = [
  {
    name: "aaa", age: 17 },
  {
    name: "bbb", age: 14}
]

// for..in
for (const item in arr) {
   
  console.log(item);
  //0 1 2 3 4 5
}

for (const item in obj) {
   
  console.log(item);
  // 0 1
}

// for..of
for (const item of arr) {
   
  console.log(item);  // 1 2 3 4 5 6
}

for(const item of obj) {
   
  console.log(item); // {
    name: 'aaa', age: 17} {
   name: 'bbb',age: 14}
}