2012-01-31 10 views
7

リテラルを辞書として使用しましたが、サードパーティ製のバインディングツールは配列のみを使用します。オブジェクトのリテラル表記を配列に変換する

これは一方的な方法ですが、より良い方法はありますか?

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

答えて

9

解決策に問題はないと思います。

これは短いものです:

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

あなたの方法は、細かいはっきりと読みやすいです。 jQueryのせずにそれを行うには、for (..in..)の構文を使用します。

バニラJSで
var arr = []; 
for (prop in objectLiteral) { 
    arr.push(objectLiteral[prop]); 
} 
2

...

我々は配列

の配列に

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; 
} 
関連する問題