[解決済み] JavaScriptのリテラル表記で連想配列を作成する方法
2022-03-05 13:36:24
質問
がないことは理解しています。 連想配列 のみで、JavaScriptでは オブジェクト .
しかし、私は 配列 を使用して、文字列のキーで ブラケット表記 というように。
var myArray = [];
myArray['a'] = 200;
myArray['b'] = 300;
console.log(myArray); // Prints [a: 200, b: 300]
ということで、全く同じことを ブラケット表記 :
var myNewArray = [a: 200, b: 300]; // I am getting error - Unexpected token:
これもうまくいきません。
var myNewArray = ['a': 200, 'b': 300]; // Same error. Why can I not create?
解決方法は?
JavaScriptには連想配列がなく、オブジェクトのみです。JavaScriptの配列も基本的にはオブジェクトですが、プロパティ名が数字(0,1,...)であるという特殊性があるだけです。
だから、まず自分のコードを見てください。
var myArray = []; // Creating a new array object
myArray['a'] = 200; // Setting the attribute a to 200
myArray['b'] = 300; // Setting the attribute b to 300
重要なのは
myArray['a'] = 200;
は
同一
から
myArray.a = 200;
!
では、何をしたいのかから始めると。 JavaScriptの配列を作成し、そこに数値属性を一切渡さないということは、1つのステートメントではできません。
しかし、これはおそらくあなたが必要とするものではありません! おそらく必要なのはJavaScriptのオブジェクトで、基本的には他の言語での連想配列や辞書、マップと同じものです。これは文字列を値にマッピングするものです。そしてそれは簡単に実現できるのです。
var myObj = {a: 200, b: 300};
しかし、あなたがやったこととは少し違うということを理解しておく必要があります。
myObj instanceof Array
を返します。
false
というのも
myObj
から先祖にあたるものではありません。
Array
をプロトタイプチェーンに追加しました。
関連
-
[解決済み】 Uncaught TypeError: data.push is not a function
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] GUID / UUIDの作成方法
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】webpack-dev-serverにリモート接続すると、「Invalid Host header」というメッセージが表示されます。
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】「Uncaught TypeError: Chromeで "Illegal invocation "が発生する。
-
[解決済み】コンソールがUnterminated JSX contentsエラーを投げる【終了しました
-
[解決済み】WebpackとBabelで「このファイルタイプを扱うには適切なローダーが必要な場合があります。
-
[解決済み】Javascript - ERR_CONTENT_LENGTH_MISMATCH
-
[解決済み】JS ファイルが net::ERR_ABORTED 404 (Not Found) を取得する)
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー
-
[解決済み] JavaScriptはオブジェクトのプロパティの順序を保証するか?
-
[解決済み] JavaScriptで連想配列・ハッシュ化を行う方法