js 数组内删除某个对象(或确定该对象索引值)

开发的过程中,我们会经常下面的业务需求,比如,我们有一个数组,数组内包含是对象,我想删除数组内的某个对象,那么我肯定会去选择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);
    }

你可能感兴趣的:(web前端,javascript,开发语言,ecmascript)