从多维数组中获取特定数据 jQuery

3

我有如下数组数据

 [{id:1, cost:20, range:15} {id:2, cost:30, range:13}]

我想使用jQuery制作类似以下的数组数据:
cost : [20, 30]
range : [15, 13]

请告诉我如何操作。
2个回答

2

Use forEach method to iterate and push values to array

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);


@ArieSastra:很高兴能帮助你 :) - Pranav C Balan

0
你可以使用 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);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接