[英]Cannot return an array list object only values returned using underscore.js or .filter()
我试图从数组中删除一个项目并返回整个数组列表,但是由于某些原因,.filter()或_.filter()正在清除我的主对象“ itemsList”,仅保留数组中的值。
var arr = {"itemsList":[{"id":11000,"name":"Demo","description":"Demo Description"},{"id":"222010","name":"test item","description":"test item desc\n"}]};
var resourceId = "222010";
var out = _.filter(arr.itemsList, function(item){
return item.id !== resourceId;
});
var itemsList = [];
var newOut = itemsList.push(out);
document.getElementById('result').value = JSON.stringify(out);
我需要以相同的方式重新调整数组,并保留列表中除id变量之外的其他项,例如:
{"itemsList":[{"id":11000,"name":"Demo","description":"Demo Description"}]}
随意使用我的小提琴https://jsfiddle.net/RicardoAlves/wbnv3040/
谢谢!
我认为问题在于您未按要求格式化输出。
var arr = {
"itemsList": [{
"id": 11000,
"name": "Demo",
"description": "Demo Description"
}, {
"id": "222010",
"name": "test item",
"description": "test item desc\n"
}]
};
var resourceId = "222010";
var out = _.filter(arr.itemsList, function(item) {
return item.id !== resourceId;
});
var itemsList = { "itemList": out };
console.log(JSON.stringify(itemsList));
您正在过滤掉不需要的项目,但仅输出该项目
输出:
{“ itemList”:[{“ id”:11000,“ name”:“ Demo”,“ description”:“ Demo Description”}]}
过滤器函数返回一个新数组。
var out = _.filter(arr.itemsList, function(item) {
return item.id !== resourceId;
});
arr.itemsList=out
document.getElementById('result').value = JSON.stringify(arr);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.