我想从json数组中获取属性列表。 下面是json数组
[ { treeName:' tree_A', 前缀:'前缀' }, { treeName:' tree_b', 前缀:'前缀1 /' } ]
运行代码后,我的预期结果是[" tree_A"," tree_B"];
以下是我的实施:
var treeNames = [];
for (var index = 0; index < config.treeSources.length; index++) {
treeNames.push(config.treeSources[index].treeName);
}
我想找到一个最好的实现来使代码变得美丽..
任何人都想玩吗?
答案 0 :(得分:2)
查看Lodash / Underscore&#39; _.pluck
功能。它完全符合您的要求:
var treeNames = _.pluck(config.treeSources, 'treeName')
使用像Lodash或Underscore这样的整个实用程序库可能有点过分,如果你只是将它用于这个函数,不过,尽管它们确实提供了各种非常有用的其他函数。
答案 1 :(得分:0)
我会使用原生的map
来做类似的事情var data = [ { treeName: 'tree_A', prefix: 'prefix' }, { treeName: 'tree_b', prefix: 'prefix1/' } ];
var treeNames = data.map(function (tree) {
return tree.treeName;
});
console.log(treeNames);
注意: - IE8不支持地图功能,因此如果想在IE8上使用此功能,则必须使用原生进行循环或像 underscorejs 这样的库。