javascript - 如何在 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);
}
});
推荐阅读
- c# - Azure 函数:客户 HTTP 路由中的查询参数有问题
- python - "Invalid security token" while using urllib2
- android - How to fix drawable bubble incorrect on api below 23
- python - Cythonize 具有许多文件夹的项目
- angular - 使用“HttpClient”Angular 8 进行多次调用
- ruby-on-rails - 在 Ruby on Rails 上同时执行多个消费 web 服务的进程
- scala - 运行 Kafka 应用程序时 Intellij 中的线程“main”java.lang.NoClassDefFoundError:com/fasterxml/jackson/databind/Module 中的异常?
- javascript - 如何在反应中使用 tabIndex 来处理 OnKeyDown 捕获事件?
- java - How to check whether empty or not every element of Varargs by recursive in Java?
- asp.net-core - 如何在 ASP.NET Core MVC 应用程序中配置 Blazor Hub 映射