2016-05-30 50 views
2

具体的数据我有这样得到多维数组的jQuery

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

我想用这样的

cost : [20, 30] 
range : [15, 13] 

jQuery,请告诉我该怎么做,使阵列的数据阵列的数据。

回答

2

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

+0

做,谢谢:) –

+0

@ArieSastra:很高兴帮助您:) –

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