【发布时间】:2015-07-06 08:46:20
【问题描述】:
我有一个对象数组:
[{
"12": {"data": [{"thisID": "44"},{"thisID": "55"}],
"settings": {"other":"other"}}
},{
"15": {"data": [{"thisID": "66"},{"thisID": "77"}],
"settings": {"other":"other"}}
}]
使用 underscore.js 我想访问 thisID 键为 77 的对象。
我是这样做的,但我相信还有更好的方法?
var found = _.map(array, function (d) {
return _.findWhere(d.data, {thisID: "77"});
})
.filter(function(n){ return n != undefined })
console.log(found) //[{thisID:x, a:a, ....}]
【问题讨论】:
-
我不确定,但数据格式是否正确?
-
你说得对,数据格式不好。现在应该可以了
-
我想说的是,如果您的代码有效“但(您)相信有更好的方法”,这属于 codereview.stackexchange,但我运行了您的代码,它返回一个空数组对我来说
-
是的,我认为您没有考虑到嵌套层。
-
如果您将
d.data更改为_.values(d)[0].data,那么它可以工作。
标签: javascript arrays object underscore.js