开发的过程中,我们会经常下面的业务需求,比如,我们有一个数组,数组内包含是对象,我想删除数组内的某个对象,那么我肯定会去选择splice的方法,那么我就需要知道我想要删除的对象的索引值,那么本文就是记录改如何去获取索引值!
let arr = [
{ id: 1, name: "小a" },
{ id: 2, name: "小b" },
{ id: 3, name: "小c" },
{ id: 4, name: "小d" },
];
let obj = { id: 2, name: "小b" };
test();
function test() {
// let index = null;
// console.log(arr.indexOf(obj)); //-1
// 1.方法1 for循环
/* arr.forEach((item, i) => {
if (item.id === obj.id) {
arr.splice(i, 1);
}
});
console.log(arr); */
// 2.方法2 利用filter
// let item = arr.filter((item) => item.id === obj.id)[0];
// let index = arr.indexOf(item);
// 也可简写为下方形式
let index = arr.indexOf(arr.filter((item) => item.id === obj.id)[0]);
arr.splice(index, 1);
console.log(arr);
}