我的obejct数组就是这个
var items = {};
$http({
url: 'http://service.com/api/notifications',
method: 'GET',
params: {},
headers: {}
}).then(function (response) {
for (var i = 0; i < response.data.length; i++) {
item[response.data[i].id] = response.data[i];
}
});
结果类似于:
{
120: {
"id": 120,
"name": "John Doe",
"rol": "admin"
},
300: {
"id": 120,
"name": "Saya",
"rol": "moderator"
}
}
我这样做是为了在我打印时没有重复的项目,因为该服务会不时被重新咨询。
我需要从这个数组中删除一个项目。
答案 0 :(得分:4)
我需要从这个数组中删除一个项目。
它不是一个数组,它是一个对象。您可以使用delete
运算符从对象中删除属性:
delete theObject[120];
// or
delete theObject["120"];
...将从中删除"120"
属性,释放该对象。
它几乎不重要,但只要知道在大多数现代JavaScript引擎上从对象中删除属性会影响在该对象上查找属性的后续性能,因为它们通常以优化查找开始,但后来又回到“字典模式“当您删除(而不是添加)属性时。 More in this answer。但是,它几乎永远不会重要。