2016-05-15 98 views
1

我想將對象轉換爲純數組。如何將轉換對象轉換爲數組

我想轉換此:

[{"itemCode":"Mob-mtr"},{"itemCode":"640-chr"}] 

這樣:

["Mob-mtr","640-chr","541-mtr"] 

我曾經嘗試這樣的代碼:

var arr = Object.keys(obj).map(function (key) {return obj[key]}); 

和一堆沒有成功的其他變化。

任何想法如何我可以將此對象轉換爲數組?

+0

的可能的複製[來自對象的數組,一個屬性作爲陣列的提取值](http://stackoverflow.com/questions/19590865/from-an-array-of -objects-extract-value-of-a-property-as-array) – Rajesh

回答

2

您可以直接使用該屬性作爲返回值。

var array = [{ "itemCode": "Mob-mtr" }, { "itemCode": "640-chr" }], 
 
    result = array.map(function (a) { return a.itemCode; }); 
 

 
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');

+1

它的工作。謝謝 – user2062455

0
var data = [{"itemCode":"Mob-mtr"},{"itemCode":"640-chr"}]; 
var arr=[]; 
//get all objects in data. 
data.forEach(function(obj){ 
    //get all properties of the object. 
    Object.keys(obj).forEach(function(prop){ 
    arr.push(obj[prop]); 
    }); 
}); 

console.log(arr); 

所選擇的答案是完美的,但也許這將有助於當這些特性都不相同或不可預測的,誰也不知道。

0

var oldArray = [ 
 
    {"itemCode": "Mob-mtr"}, 
 
    {"itemCode": "640-chr"}, 
 
    {"itemCode": "541-mtr"} 
 
]; 
 

 
var newArray = []; 
 

 
oldArray.forEach(function(v) { 
 
    newArray.push(v['itemCode']); 
 
}); 
 

 
document.write(newArray);