这是保存在数据库中的结构。我只想直接获取“ entityInfo ”而不使用任何循环。
let x = {
"12": [{
"entity": {
"id": "40ea18e6-f898-414a-96fd-b3ef5a0eb7cd"
},
"startTime": "2018-12-19T06:29:59.999Z"
},
{
"entity": {
"id": "40ea18e6-f898-414a-96fd-b3ef5a0eb7cd"
},
"startTime": "2018-12-19T06:49:25.000Z",
},
{
"entityInfo": [{
"entityName": "acd",
"timeSpent": 0.028055555555555556
}]
}
]
}
答案 0 :(得分:3)
如果您希望12
数组中的第一项具有一个entityInfo
值,则可以使用find
let x = {
"12": [{
"entity": {
"id": "40ea18e6-f898-414a-96fd-b3ef5a0eb7cd"
},
"startTime": "2018-12-19T06:29:59.999Z"
},
{
"entity": {
"id": "40ea18e6-f898-414a-96fd-b3ef5a0eb7cd"
},
"startTime": "2018-12-19T06:49:25.000Z",
},
{
"entityInfo": [{
"entityName": "acd",
"timeSpent": 0.028055555555555556
}]
}
]
}
console.log(x["12"].find(a => a.entityInfo))
答案 1 :(得分:0)
您可以使用封装的map()函数。点击here。 但是您必须问自己,数组在这里是否有意义。
答案 2 :(得分:0)
let x = {
"12": [{
"entity": {
"id": "40ea18e6-f898-414a-96fd-b3ef5a0eb7cd"
},
"startTime": "2018-12-19T06:29:59.999Z"
},
{
"entity": {
"id": "40ea18e6-f898-414a-96fd-b3ef5a0eb7cd"
},
"startTime": "2018-12-19T06:49:25.000Z",
},
{
"entityInfo": [{
"entityName": "acd",
"timeSpent": 0.028055555555555556
}]
}
]
}
// will return a value if the entityInfo object exists
var ans = x["12"].filter((val)=>{return val.entityInfo})[0]
console.log(ans)
答案 3 :(得分:0)
如果只有一个entityInfo,则可以使用以下命令获取具有“ entityInfo”属性的第一个元素。
x["12"].find(i => i.entityInfo)
答案 4 :(得分:0)
使用Object.values
获取值,然后使用find
查找所有实体信息对象
var x = {
"12": [{
"entity": {
"id": "40ea18e6-f898-414a-96fd-b3ef5a0eb7cd"
},
"startTime": "2018-12-19T06:29:59.999Z"
},
{
"entity": {
"id": "40ea18e6-f898-414a-96fd-b3ef5a0eb7cd"
},
"startTime": "2018-12-19T06:49:25.000Z",
},
{
"entityInfo": [{
"entityName": "acd",
"timeSpent": 0.028055555555555556
}]
}
]
};
console.log(Object.values(x).flat().find(el => el.entityInfo));
答案 5 :(得分:0)