使用JavaScript从对象数组中删除匹配的对象 [英] Removing matched object from array of objects using javascript
本文介绍了使用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方法不适用于从数组中删除特定对象
- 您应该从
responseArray.properties
数组中删除对象,而不是responseArray
- You should remove object from
responseArray.properties
array instead ofresponseArray
pop()方法从数组中删除最后一个元素并返回该元素.
The pop() method removes the last element from an array and returns that element.
将 responseArray.pop(checkProp);
替换为 resProp.properties.splice(resProp.properties.indexOf(checkProp),1);
这篇关于使用JavaScript从对象数组中删除匹配的对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文