JavaScript数组的遍历函数

some( )的方法

在找到对应的项之后,可以通过 return true 固定语法,来终止some循环

const arr = ['小黑','小慧','小楠','小二']
arr.some((item,index) =>{
    if(item ==='小楠'){
        console.log(index)
        // 在找到对应的项之后,可以通过 return true固定语法,来终止some循环
        return true
    }
})

every( )方法

 every 判断数组里所有的数据都符合条件,返回true,否则返回false

const arr = [
    {id:1,name:'西瓜',state:true},
    {id:2,name:'榴莲',state:true},
    {id:3,name:'草莓',state:true}
]
// every 是 判断 数组里所有的数据都符合,返回true
const result = arr.every(item =>item.state)
console.log(result)

indexOf( )方法

该方法可以检索一个字符串中是否含有指定内容

如果字符串中含有该内容,则会返回其第一次出现的索引

如果没有找到指定的内容,则返回-

    var arr = [1, 2, 3]
    let newArr = [1]
    arr.forEach((item) => {
      if (newArr.indexOf(item) !== -1) {
        console.log('存在')
      } else {
        newArr.push(item)
      }
    })
    console.log(newArr) //[1,2,3]

find( )方法

find()方法用于查找数组中符合条件的第一个元素,如果没有符合条件的元素,则返回undefined  

let arr1 = [1, 2, 3, 4, 5]
let num = arr1.find( item => item > 1)
console.log(num)  //輸出的結果是2

findIndex()方法

返回传入一个条件(函数)符合条件的数组第一个元素索引位置。

    const arr1 = ['张三','李四','王五']
    const index = arr1.findIndex((item) => item === '张三')
    console.log(index) // 0

map( )循环

  • map( )不会对空数组进行检测

  • map( )不会改变原始数组

let array = [1, 2, 3, 4, 5]

let newArray = array.map((item) => {
    return item * item
})

console.log(newArray)  // [1, 4, 9, 16, 25]

filter( )过滤方法

  • filter是我们经常使用它过滤数组的某些元素,返回剩下的元素
  • filter是把传入的数据,根据返回值是 true 或 false 来进行保留或过滤  
let List = [0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5]
let ListFilter = arrList.filter((item, index, selfList) => {
    return selfList.indexOf(item) == index
})
console.log(arrListFilter, "去重后的数组")//[0,1,2,3,4,5]

includes( )

includes()方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

const mingzhu = ['西游记','红楼梦','水浒传','三国演义']

console.log(mingzhu.includes('西游记'))   // true
console.log(mingzhu.includes('金瓶梅'))  // false

reducer( )

接收两个参数,第一个参数是回调函数reducer,第二个参数是初始值。

//pre是之前返回的值--->默认是0,item是每一项
const arr = [1, 2, 3, 4]
const result = arr.reduce((total, item) => {
    return total + item
}, 0)
console.log(result) // 10

forEach( )方法

可以传递三个参数

  1. value(值)

  2. index(索引)

  3. object(对象)

forEach( ) 方法终止不了循环,就是说return不起作用,如果想要终止循环。可以采用抛出错误终止循环(终止的是JavaScript线程)

  const arr = [1, 2, 3, 4]
  try {
    arr.forEach((item, index, name) => {
      console.log(item, index, name)
      if (index == 1) throw 'error'
    })
  } catch (error) {
    // 错误的处理
    console.log(error)
  }

Concat( )方法

连接两个或更多的数组,并返回结果。

    const arr1 = ['张三','李四','王五']
    const arr2 = ['小明','小红','小张']
    const newArr = arr1.concat(arr2)
    console.log(newArr) // ['张三', '李四', '王五', '小明', '小红', '小张']

join( )方法

指定分隔符分隔数组并转换为字符串。

    const arr1 = ['张三','李四','王五']
    const str = arr1.join('~')
    console.log(str)


版权声明:本文为qq_49080170原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。