从嵌套属性中提取

时间:2014-03-31 20:55:22

标签: javascript backbone.js underscore.js

我有以下模型属性:

[{
    "id": 1,
    "details": {
        "name": "Sun Tzu",
        "height": "180",
    },
    "lists": [
        [{
            "coworkers": "company cool",
            "friends": "School",
        }],
        [{
            "coworkers": "company nice",
            "friends": "Childhood",
        }]
    ]
}]

是的,我知道这很令人困惑,但我想了解嵌套模型。

我希望在friends模型的所有id:1视图(表格行)中显示。
例如:School, Childhood

我该怎么做? 提前谢谢!

2 个答案:

答案 0 :(得分:3)

var friends = _.chain(data)
    .findWhere({ id: 1 })
    .result('lists')
    .flatten(false)
    .pluck('friends')
    .value();

答案 1 :(得分:1)

您可以链接函数以获取您要查找的输出

console.log(_.chain(data)
    .find(function(currentObject) {
        return currentObject.id === 1;
    })
    .pick("lists")
    .flatten(false)
    .pluck("friends")
    .value());

<强>输出

[ 'School', 'Childhood' ]