面试有被问到的问题,下面做个总结:
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