JavaScript数组的查找

45 次浏览 2 分钟阅读 0 个喜欢

我们在ES5中常用的方法filter

我们来看一下

let arrary = Array.of(1,2,3,4,5)
let find = array.filter(x => {
    return x === 3;
})
console.log(find)
// 运行程序
// [3]

使用filter时候的弊端

filter不管有没有查找到需要的元素都会将数组遍历完成

而ES6中新加入了find只需要返回true将不会继续遍历相当于break

下面我们来看一下

let array = Array.of(1,2,3,4,5)
let find = array.find(x => {
    return x === 2
})
console.log(find)
// 好的运行程序。我们会发现输出2,这个返回值是数组的值而不是index

find的弊端在于没有返回索引

这是又有一个findIndex解决了这个问题

let array = Array.of(1,2,3,4,5)
let find = array.findIndex(x => {
    return x===3
})
console.log(find)