从 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)可能有点过分,尽管它们确实提供了各种非常有用的其他功能。
我想从 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)可能有点过分,尽管它们确实提供了各种非常有用的其他功能。