[英]How to get all not owned items in a player items array in JSON
我想從我嘗試過的玩家物品陣列中獲取所有未擁有的物品
var players = {
"player1": {
"items": [{
"item1": {
"owned": false,
"price": 3000,
},
"item2": {
"owned": true,
"price": 3000,
}
}]
}
}
Object.keys(players).forEach(player => {
for(var i =0; i < players[player].items.length; i++) {
var not_owned = players[player].items.filter(item => {return item.owned === false});
console.log(not_owned.length);
}
});
但它沒有給我任何我試圖看到長度的東西,它給了我 0,
我試圖對它進行無長度的 console.log,它給了我未定義的任何想法?
您需要獲取內部項目對象值,然后對其進行過濾
var players = { "player1": { "items": [{ "item1": { "owned": false, "price": 3000, }, "item2": { "owned": true, "price": 3000, } }] } } Object.keys(players).forEach(player => { for(var i =0; i < players[player].items.length; i++) { var not_owned = Object.entries(players[player].items[i]).filter(([key, item]) => {return item.owned === false}); console.log(not_owned.length); } });
你不需要在那里for
循環。 現在,對於forEach
的每次迭代, forEach
將包含您想要的該播放器的項目。
var players = {
"player1": {
"items": [{
"item1": {
"owned": false,
"price": 3000,
},
"item2": {
"owned": true,
"price": 3000,
}
}]
}
}
Object.keys(players).forEach(player => {
var not_owned = players[player].items.filter(item => {return item.owned === false});
console.log(not_owned.length);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.