JS-数组常用方法-查找

218 阅读1分钟

indexOf() 查找数组里元素(元素值,存在,索引)--返回位置或者-1

  • 根据指定值查找元素 有则返回首次出现的位置 否则返回-1
  • array.indexOf(item,start) 需要查找的元素值 从该索引处开始查找 默认为0
let arr = [1,2,3,'小肖',null,undefined,'undefined',0];
console.log(arr.indexOf(null)); //4
console.log(arr.indexOf(1, 0)); //0
console.log(arr.indexOf(1, 5)); //-1

includes() 查找数组元素(元素值,存在,是否)--返回true或者false

  • ES6
  • 根据指定值查找元素 有则返回true 无则返回false
  • includes(value,index) 需要查找的元素值 从该索引处开始查找 默认为0
let arr = [1,2,3,'小肖',null,undefined,'undefined',0];
console.log(arr.includes('小肖')); // true
console.log(arr.includes('小肖',3)); // true
console.log(arr.includes('小肖',4)); // false
console.log(arr.includes('0'));// false
console.log(arr.includes('null'));// false

findIndex() 查找数组元素(条件,存在,索引)--返回元素索引或者-1

  • ES6
  • 根据条件查找元素 有则返回索引 无则返回-1
  • array.findIndex(function(currentValue, index, arr), thisValue)
let arr = [1, 2, 3, 4, 5, 6, '小肖'];
console.log(arr.findIndex(item=> item == '小肖')); // 6
console.log(arr.findIndex(item=> item == '小杨')); // -1
console.log(arr.findIndex(item=> item)); // 0
console.log(arr.findIndex(item=> item<10)); // 0

find() 查找数组元素(条件,存在,值)--返回元素值或者undefined

  • ES6
  • 根据条件查找元素 有则返回值 无则返回undefined
  • array.every(function(item,index,arr), thisValue)
let arr = [1, 2, 3, 4, 5, 6];
console.log(arr.find(item=>item>2));//3
console.log(arr.find(item=>item>10));//undefined

every() 查找数组里元素(条件,存在,每一个,是否)-- 返回true或者false

  • 根据条件检测每个元素是否都符合 是返回true 否则返回false 且停止检测
  • array.every(function(item,index,arr), thisValue)
let arr = [1, 2, 3, 4, 5, 6];
console.log(arr.every(item => item > 0)) // true
console.log(arr.every(item => item > 10)) // false

some() 查找数组里元素(条件,存在,其中一个,是否)-- 返回true或者false

  • 根据条件检测是否有元素符合 有则返回true并停止检测 否则返回false
  • array.some(function(currentValue,index,arr),thisValue)
let arr = [1, 2, 3, 4, 5, 6,'小肖'];
console.log(arr.some(item => item>2)); // true
console.log(arr.some(item => item>10)); // false
console.log(arr.some(item => item>10)); // false
console.log(arr.some(item => item=='小杨')); // false
console.log(arr.some(item => item=='小肖')); // true