js 連想配列の書き方
以下のような連想配列がある。
var array = { ‘a’:’A’, ‘b’:’B’, ‘c’:’C’};
jsでの連想配列の書き方は、Jsonやオブジェクトの書き方に似ている。
波括弧 { } で囲んで、 キーと値の間はコロン : を使う。
Jsonは必ずキーと値はダブルクォーテーションで囲む。
オブジェクトは、キーに当たるプロパティは変数となるので、””で囲まない。
配列の展開
この連想配列に対して、配列を展開しようと考えたとき、
Array.Prototype.forEach()やArray.Prototype.map() などの関数を使う。
しかし、そのまま連想配列につなげて
array.forEach(function(){});
としても、
Uncaught TypeError: array.forEach is not a function
というエラーが出てしまう。
連想配列のままでは、これらの関数は使えない。
多次元配列のように、配列の中に、連想配列があると考える。
var array = [ { ‘a’:’A’, ‘b’:’B’, ‘c’:’C’} ];
こうすると、配列の関数が使える。
それ以外の方法は、連想配列ではなく、オブジェクトとして扱う方法がある。
以下のように、
var array = { a : ‘A’, b : ‘B’, c : ‘C’};
として、キーをプロパティとして扱う。
オブジェクトを配列に変換し、forEachやmap関数などを使う。
Object.keys(array).forEach();
配列をオブジェクトに変換する方法もある。
Object.fromEntries()を使う方法
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries
オブジェクト定義した変数に、配列を展開していれる方法
https://absg.hatenablog.com/entry/2016/05/30/184742
https://chaika.hatenablog.com/entry/2016/06/21/085000
とりあえず、連想配列を使うなら、配列のように書いた方が無難かな。
「JavaScript Uncaught TypeError: array.forEach is not a function 連想配列 書き方」への2件のフィードバック
コメントは受け付けていません。