JavaScript Uncaught TypeError: array.forEach is not a function 連想配列 書き方

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件のフィードバック

  1. ピンバック: Homepage
  2. ピンバック: URL

コメントは受け付けていません。