数组的indexOf和findIndex的区别

如果查询的数组格式简单,两者区别不大,如下:
indexOf:找出第一个符合条件的数组成员的索引号 没找到会返回-1

const arr = [1, 2, 3, 4, 5, 'a']
const result = arr.indexOf('a')
console.log(result); //5

findIndex:找出第一个符合条件的数组成员的索引号 没找到会返回-1

const arr = [1, 2, 3, 4, 5]
const result = arr.findIndex(function (item) {
   return item > 3
 })
console.log(result); // 3

如果数组格式复杂,建议使用findIndex,如下:

const arr = [
  { id: 1, name: '徐毅叶' },
  { id: 2, name: '黑叶猴' }
]
const result = arr.findIndex(item => {
  return item.id == 2
})
console.log(result); // 1

拓展:
includes:表示数组中是否包含给定的值,返回布尔值

const arr = [1, 2, 3, 4, 5, 'a']
const result = arr.includes('a')
console.log(result); //true

你可能感兴趣的:(前端,javascript)