【发布时间】:2016-09-27 23:18:51
【问题描述】:
我有这样的数组数据
[{id:1, cost:20, range:15} {id:2, cost:30, range:13}]
我想像这样使用 jquery 制作数组数据
cost : [20, 30]
range : [15, 13]
请告诉我该怎么做。
【问题讨论】:
标签: javascript jquery arrays multidimensional-array
我有这样的数组数据
[{id:1, cost:20, range:15} {id:2, cost:30, range:13}]
我想像这样使用 jquery 制作数组数据
cost : [20, 30]
range : [15, 13]
请告诉我该怎么做。
【问题讨论】:
标签: javascript jquery arrays multidimensional-array
使用 forEach 方法迭代并将值推送到数组
var cost = [],
range = [];
var data = [{
id: 1,
cost: 20,
range: 15
} ,{
id: 2,
cost: 30,
range: 13
}];
data.forEach(function(v) {
cost.push(v.cost);
range.push(v.range);
});
console.log(cost, range);
或者用map()方法生成数组
var data = [{
id: 1,
cost: 20,
range: 15
}, {
id: 2,
cost: 30,
range: 13
}];
var cost = data.map(function(v) {
return v.cost;
});
var range = data.map(function(v) {
return v.range;
});
console.log(cost, range);
【讨论】:
您可以使用Array#forEach() 和一个对象作为结果,并使用一个数组作为要分组的属性。
var array = [{ id: 1, cost: 20, range: 15 }, { id: 2, cost: 30, range: 13 }],
result = {};
array.forEach(function (a) {
['cost', 'range'].forEach(function (k) {
result[k] = result[k] || [];
result[k].push(a[k]);
});
});
console.log(result);
【讨论】: