我正在解析一个类似于以下格式的JSON消息:
{
staff : [
{name : 'John', department : 'Math'},
{name : 'Sally', department : 'Science'},
],
students : [
{name : 'Bob', department : 'Law'},
{name : 'Lisa', department : 'IT'}
]
}
我希望您能从中提取出每个单独值的数组。例如:
names -> ['John', 'Sally', 'Bob', 'Lisa']
目前,我正在进行类似于以下的操作:
var names = [];
msg.staff.forEach(function(e) { names.push(e.name) })
msg.students.forEach(function(e) { names.push(e.name)})
这个感觉过于啰嗦了,想知道是否有更简洁的方法来处理这个问题(对于每个属性)。我已经在这个项目中包含了lodash。
values()
代替map()
。它更清晰地展示了正在发生的事情,并且在内部实际上比map()
做更少的工作。 - Adam Boduch