find():找到一个合适条件的就返回,不再往下走
var people = [{ id: 1, name: 'xiewenting' }, {id: 2, name: 'puxiaoruo'}]
var findTest = people.find(item => {
if (item.id === 1) {
return true
}
})
console.log(findTest) // 输出 {id: 1, name: "xiewenting"}
var people1 = [{ id: 1, name: 'xiewenting' }, {id: 2, name: 'puxiaoruo'}, {id: 1, name: 'puxiaoruo'}]
var findTest1 = people.find(item => {
if (item.id === 1) {
return true
}
})
console.log(findTest1) // 输出 {id: 1, name: "xiewenting"}
findIndex():找到满足条件的就返回下标,不再往下走
var people = [{ id: 1, name: 'xiewenting' }, {id: 2, name: 'puxiaoruo'}]
var findIndexTest = people.findIndex(item => {
if (item.id === 1) {
return true
}
})
console.log(findIndexTest) // 输出 0
var people1 = [{ id: 1, name: 'xiewenting' }, {id: 2, name: 'puxiaoruo'}, {id: 1, name: 'puxiaoruo'}]
var findIndexTest1 = people.findIndex(item => {
if (item.id === 1) {
return true
}
})
console.log(findIndexTest1) // 输出 0
filter():返回所有满足条件数据,并返回一个新的数组
var people = [{ id: 1, name: 'xiewenting' }, {id: 2, name: 'puxiaoruo'}, {id: 1, name: 'puxiaoruo'}]
var filterTest = people.filter(item => {
if (item.id === 1) {
return true
}
})
console.log(filterTest)
// 输出 [{ id: 1, name: 'xiewenting' }, {id: 1, name: 'puxiaoruo'}]
ps:请忽略我有不同的数据的id一样,上面的测试数据只是为了效果,真实数据上id是不可能有一样的数据的。