【发布时间】:2014-11-25 13:01:48
【问题描述】:
我在items 的数组中有一个嵌套的“atts”对象的数组。
baseData = [
{
id: 123123
name: "Some Product"
atts: {
lowfreqrange: 100,
package: 'connector',
amplifier: 'narrowband'
}
},
{
id: 5556652
name: "Some Second Product"
atts: {
lowfreqrange: 50,
package: 'drop-in',
amplifier: 'LNA'
}
},
{
id: 5465456
name: "Some 2 Product"
atts: {
lowfreqrange: 100,
package: 'connector',
amplifier: 'narrowband'
}
}
]
我希望输出是:
[
lowfreqrange: [100, 50]
amplifier: ['LNA', 'narrowband']
package: ['connector', 'drop-in']
]
除了手动循环之外,有没有一种快速的方法来处理这个问题?我有这个,但想看看如何使用 lodash 来实现,主要用于教育目的:
for item in baseData
atts = item.atts
for k, v of atts
result[k] = [] unless result[k]
result[k].push v
【问题讨论】:
-
我认为您上面的手动循环解决方案不正确。上面提供的预期输出表明每个阵列必须是唯一的,因为有两个
100lowfreqrange、两个connector包和两个narrowband放大器。
标签: arrays coffeescript underscore.js lodash