从json数组中获取属性列表的最佳方法是什么

时间:2015-04-16 03:01:57

标签: javascript arrays json foreach lodash

我想从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);
        }

我想找到一个最好的实现来使代码变得美丽..

任何人都想玩吗?

2 个答案:

答案 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 这样的库。