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

what is the best way to fetch property list from json array

我想从 json 数组中获取 属性 列表。 下面是 json 数组

[ { 树名:'tree_A', 前缀:'prefix' }, { 树名:'tree_b', 前缀:'prefix1/' } ]

经过运行代码,我的期望结果是["tree_A","tree_B"];

下面是我的实现:

var treeNames = [];
        for (var index = 0; index < config.treeSources.length; index++) {
            treeNames.push(config.treeSources[index].treeName);
        }

我想找到一个最好的实现来让代码变得漂亮..

有人想玩吗?

我会使用原生 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 不支持map 功能,所以如果要在IE8 上使用此功能,则必须使用原生for 循环或一些像 underscorejs.

这样的库

检查 Lodash/Underscore's _.pluck 函数。它完全符合您的要求:

var treeNames = _.pluck(config.treeSources, 'treeName')

如果你只打算将它用于这一个功能,那么使用整个实用程序库(如 Lodash 或 Underscore)可能有点过分,尽管它们确实提供了各种非常有用的其他功能。