javascript - 使用javascript从对象数组中删除匹配的对象

标签 javascript angularjs

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

enter image description here

enter image description here

我正在尝试从属性 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 个对象数组而不是 4 个。我认为,这段代码正在删除整个第 4 个对象。

responseArray.pop(checkProp);

关于只删除匹配对象有什么建议吗?

最佳答案

  • Pop 方法不适合从数组中删除特定对象

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

  • 您应该从 responseArray.properties 数组而不是 responseArray 中移除对象

responseArray.pop(checkProp); 替换为 resProp.properties.splice( resProp.properties.indexOf(checkProp) , 1 );

关于javascript - 使用javascript从对象数组中删除匹配的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36446531/

相关文章:

javascript - 使用 forEach 相乘

c# - 无法将类型为 'Newtonsoft.Json.Linq.JObject' 的对象转换为类型 'System.Collections.Generic.Dictionary` 2[System.String,System.Object]'

javascript - Ajax get 方法不起作用

javascript - 多种特性选择

javascript - 如何在Cocos2d-X 3.0中使用javascript加载JSON数据

javascript - 向google.earth.createInstance()添加超时

html - 如何在多个 div 中重用 angularjs 条形图指令

javascript - jquery-knob 在 Angular Directive(指令)中始终为 NAN

javascript - 如何绑定(bind)到 AngularJS 中的表单属性?

AngularJS 1.5.x $onChanges 不适用于单向绑定(bind)更改