JS数组查找、删除元素
数组查找
方法一:indexOf()——ES5
const array = ['apple', 'banance', 'orange']
array.indexOf('apple') // 0 存在
array.indexOf('strawBerry') // -1不存在
方法二:find()——ES6
//一维
const array = ['apple', 'banance', 'orange']
array.find(obj => obj == 'banance') //banance 存在
array.find(obj => obj == 'strawBally') //undefined 不存在
//二维
const arrayList = [
{name: '张三'}, {name: '李四'}
]
arrayList.find(obj => obj.name == '李四') //{name: '李四'} 存在
arrayList.find(obj => obj.name == '王五') //undefined 不存在
方法三:findIndex()——ES6
const array = ['apple', 'banance', 'orange']
array.findIndex(obj => obj == 'banance') //大于0存在
array.findIndex(obj => obj == 'strawBally') //-1 不存在
方法四:includes()
const array = ['apple', 'banance', 'orange']
array.includes('banance') //true存在
array.includes('strawBally') //false存在
方法五:filter()
//一维
const array = ['apple', 'banance', 'orange']
array.filter(obj => obj == 'orange') //['orange'] 存在
array.filter(obj => obj == 'strawBally') //[] 不存在
//二维
const array = [{ name: 'banance' }, { name: 'apple' }]
console.log(array.filter(obj => obj.name === 'apple')) //[{name: 'apple'}] 存在
console.log(array.filter(obj => obj.name === 'strawBally')) //[] 不存在
数组删除
方法一:
array.splice(array.indexOf(delStr),1);
方法二:
array.filter(obj => {
if(obj.name === 'apple'){
//满足,保留
return true;
}else{
//不满足,删除
return false;
}
})