使用JavaScript从对象数组中删除匹配的对象 [英] Removing matched object from array of objects using javascript

查看:84
本文介绍了使用JavaScript从对象数组中删除匹配的对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含4个对象的数组,每个对象都包含8个对象的属性数组.

I have an array of 4 objects and each object contains property array of 8 object.

我正在尝试从属性Array [8]中删除对象

I am trying to remove an object from properties Array[8]

        var responseArray = new Array();
        responseArray = response.data;
         responseArray.forEach(function (resProp) {
            if (resProp.alias == "General Details") {
                resProp.properties.forEach(function (checkProp) {

                    if (checkProp.alias == "name") {
                        responseArray.pop(checkProp);
                    }
                });
            }

        });

我能够弹出它,但是responseArray只有3个对象Array而不是4.i,我认为这段代码将删除整个第4个对象.

I am able to pop it however the responseArray having only 3 object Array instead of 4.i think, this code is removing the whole 4th object.

responseArray.pop(checkProp);

关于仅删除匹配对象的任何建议?

any suggestions on removing only matched object?

推荐答案

  • Pop方法不适用于从数组中删除特定对象
  • pop()方法从数组中删除最后一个元素并返回该元素.

    The pop() method removes the last element from an array and returns that element.

    • 您应该从 responseArray.properties 数组中删除对象,而不是 responseArray
      • You should remove object from responseArray.properties array instead of responseArray
      • responseArray.pop(checkProp); 替换为 resProp.properties.splice(resProp.properties.indexOf(checkProp),1);

        这篇关于使用JavaScript从对象数组中删除匹配的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆