1. ホーム
  2. javascript

[解決済み] 数値キーを持つJavaScriptオブジェクトを配列に変換する

2022-04-22 04:06:18

質問

このようなオブジェクトがサーバーからJSONレスポンスとして戻ってきます。

{
  "0": "1",
  "1": "2",
  "2": "3",
  "3": "4"
}

このようにJavaScriptの配列に変換したい。

["1","2","3","4"]

何か良い方法はないでしょうか?私が読んでいるところでは、ループを使った複雑なロジックを使っている人がいます。では、これに代わる方法はあるのでしょうか?

どのように解決するのですか?

実はとても簡単で、jQueryの $.map

var arr = $.map(obj, function(el) { return el });

フィドル

また、jQuery を使用しなくても、キーを配列に変換して Array.map

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

フィドル

これは、すでにjavascriptオブジェクトとしてパースされており、実際にはJSON(文字列形式)でないと仮定した場合です。 JSON.parse も必要でしょう。

ES2015 では Object.values を使うことで、この作業を簡単に行うことができます。

var arr = Object.values(obj);