当我们向复杂数组中添加对象时,想要检查数组中是否存在相同的对,使用循环过于麻烦,
这时我们可以使用findIndex方法
<script>
let arr = [
{ id: "1", name: "晓明", age: "15" },
{ id: "3", name: "小白", age: "35" },
{ id: "2", name: "大黄", age: "18" },
{ id: "4", name: "小绿", age: "13" },
];
let aee = { id: "1", name: "小红", age: "15" };
let acc = { id: "5", name: "小红", age: "15" };
let index = arr.findIndex((e) => {
return e.id == acc.id;
});
let indexTow = arr.findIndex((e) => {
return e.id == aee.id;
});
// 当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
// 如果没有符合条件的元素返回 -1
if (index < 0) {
arr.push(acc);
}
if (indexTow < 0) {
arr.push(aee);
}
console.log("index:", index);
console.log("indexTow:", indexTow);
console.log(arr);
</script>
此时控制台打印:
index: -1
indexTow: 0
- (5) [{…}, {…}, {…}, {…}, {…}]
- 0: {id: '1', name: '晓明', age: '15'}
- 1: {id: '3', name: '小白', age: '35'}
- 2: {id: '2', name: '大黄', age: '18'}
- 3: {id: '4', name: '小绿', age: '13'}
- 4: {id: '5', name: '小红', age: '15'}
- length: 5
- [[Prototype]]: Array(0)
本文介绍了如何利用JavaScript的findIndex方法快速检查数组中是否存在特定对象,并在不存在时将其添加。示例展示了在复杂数组中查找具有相同id的对象,如果未找到则将其添加到数组中。通过这种方法,可以避免使用循环进行繁琐的查找操作。
824

被折叠的 条评论
为什么被折叠?



