2016-05-30 49 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);