【发布时间】:2016-03-01 13:33:09
【问题描述】:
我有一个如下所示的对象:
parentObj:{
nodes: [
{
nodeId : 'AAA',
nodeType : 'bottom'
},
{
nodeId : 'BBB',
nodeType : 'top'
},
{
nodeId : 'CCC',
nodeType : 'bottom'
},
{
nodeId : 'DDD',
nodeType : 'top'
},
{
nodeId : 'EEE',
nodeType : 'bottom'
},
{
nodeId : 'FFF',
nodeType : 'middle'
},
{
nodeId : 'GGG',
nodeType : 'middle'
},
{
nodeId : 'HHH',
nodeType : 'bottom'
},
{
nodeId : 'III',
nodeType : 'middle'
}
],
owners: {
'Johnson' : [ 'AAA', 'BBB', 'DDD', 'III' ], /* node ids to indicate Johnson owns these nodes */
'Smith' : [ 'XXX', 'GGG', 'EEE', 'FFF' ] /* node ids to indicate Smith owns these nodes */
}
}
我想做的是编写一个函数,它传入所有者名称和节点类型,并输出一个属于该所有者并且与指定节点类型匹配的节点数组。
例如,
var getNodes = function('Johnson', 'top'){
var ret;
/* some logic I've yet to understand... */
return ret;
}
/* ret would look like this */
ret = [
{
nodeId : 'BBB',
nodeType : 'top'
},
{
nodeId : 'DDD',
nodeType : 'top'
}
]
所以只有属于 Johnson 并且类型为 top 的节点才会填充我的数组。
如果可能的话,我最好使用下划线来完成此操作?
有人有什么建议或意见吗?
【问题讨论】:
-
我确信投反对票是合理的,但解释会帮助我解决未来的问题
-
很简单:看起来你在发布问题之前没有尝试过任何事情。
-
@YuryTarabanko 啊,我明白了。好吧,事实恰恰相反,但我尽量让问题保持干净整洁。不过感谢您的解释。
标签: javascript arrays underscore.js