2012-01-31 37 views
7

我用一個字面值作爲字典,但第三方綁定工具只接受數組。將對象文字符號轉換爲數組

這是一種方式,有沒有更好的?

var arr = []; 
$.each(objectLiteral, function() { arr.push(this); }); 

回答

9

我認爲您的解決方案沒有問題。

這是一個較短的一個:

var arr = $.map(objectLiteral, function (value) { return value; }); 
7

你的方法是精細,清晰可讀。要做到這一點,而不jQuery的,使用for (..in..)語法:

var arr = []; 
for (prop in objectLiteral) { 
    arr.push(objectLiteral[prop]); 
} 
2

在香草JS ...

如果我們想要一個對象字面

var obj = { 
species: 'canine', 
name: 'Charlie', 
age: 4 
} 

轉換成數組

的數組
[['species', 'canine'], ['name', 'Charlie'], ['age', 4]] 

這裏是單向的

function objToArr(obj){ 
    var arr = []; 

    for (var key in obj){ 
    arr.push([key, obj[key]]); 
    } 
    return arr; 
}