JavaScript查看元素是否在数组的方法

面试有被问到的问题,下面做个总结:

  let arr=[
    'Node',
    'Vue',
    'react',
    'PHP'
  ];

方法:for循环:for循环是效率最高的方法

/**
 * 使用循环的方式判断一个元素是否存在于一个数组中
 * @param {Object} arr 数组
 * @param {Object} value 元素值
 */
function isInArray(arr,value){
  for(var i=0;i<arr.length;i++){
    if(value===arr[i]){
      return true
    }
    return false
  }  
}
console.log(isInArray(arr,'PHP'));//true

方法:indexOf:元素在数组中返回索引值,元素不在数组中返回-1

console.log(arr.indexOf('PHP'));//true
console.log(arr.indexOf('p'));//false

方法:includes:元素在数组中返回true,元素不在数组中返回false

console.log(arr.includes('php'));//false
console.log(arr.includes('PHP'));//true

方法:some:遍历数组中的每一项,如果该函数有满足条件的元素,则返回true 参数:函数中的形参:数组项的值item,该项在数组中的位置index,数组对称本身input 是否有返回值:true或false 原数组是否改变:原数组不变

let result = arr.some((value,index)=>{
      return value==='PHP';
  })
console.log(result);//true

方法:find:返回查找到的值,遍历数组中的每一项,查找某个元素,返回true,则将当前遍历元素返回,不继续查找

  var result=arr.find((value,index)=>{
      return value==='PHP';
  })
  console.log(result);//PHP

方法:findIndex:返回查找到的索引

  var result=arr.findIndex((value,index)=>{
      return value==='PHP';
  })
  console.log(result);//3

推荐阅读更多精彩内容