[英]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.