jQueryを使用してJSオブジェクトを配列に変換する 質問する

jQueryを使用してJSオブジェクトを配列に変換する 質問する

私のアプリケーションは次のような JavaScript オブジェクトを作成します。

myObj= {1:[Array-Data], 2:[Array-Data]}

しかし、このオブジェクトは配列として必要です。

array[1]:[Array-Data]
array[2]:[Array-Data]

$.eachそこで、オブジェクトを反復処理し、要素を配列に追加することで、このオブジェクトを配列に変換しようとしました。

x=[]
$.each(myObj, function(i,n) {
    x.push(n);});

オブジェクトを配列または関数に変換するより良い方法はありますか?

ベストアンサー1

機能的なアプローチをお探しの場合:

var obj = {1: 11, 2: 22};
var arr = Object.keys(obj).map(function (key) { return obj[key]; });

結果:

[11, 22]

ES6 の矢印関数でも同様です。

Object.keys(obj).map(key => obj[key])

ES7では代わりObject.valuesに(詳しくは):

var arr = Object.values(obj);

または、すでにアンダースコア/ローダッシュを使用している場合:

var arr = _.values(obj)

おすすめ記事