我有以下对象数组:
var list = [{
"id": 119,
"files": []
}, {
"id": 126,
"files": [{
"id": 9,
"filename": "test1.docx",
}, {
"id": 10,
"filename": "test2.docx",
}]
}]
如何通过删除具有特定ID的文件来更新列表(文件ID是唯一的)。例如,我想删除ID为10的文件。
这是我使用underscore尝试过的,但它不起作用:
_.each(list.item, function(item, idx) {
if (_.findWhere(item.files, { id: 10 })) {
//remove file from files array
files.splice(idx, 1);
}
});
我希望通过删除特定id的文件对象来更新列表。
到目前为止,所有的解决方案都是创建原始副本。有没有办法直接从原始列表中切掉它?