Array.prototype.fill()でオブジェクトが参照渡しとなり、新規インスタンスにならない
2023-07-28 17:31:21
質問
私は少し遊んでいて、長さ
x
で初期化され、その配列のすべての要素が値
y
:
var arr = new Array(x).fill(y);
これは
y
が
オブジェクト
.
ということは、もし
y
がオブジェクトである場合、以下のようになります。
var arr = new Array(2).fill({});
arr[0] === arr[1]; //is true;
arr[0].test = 'string';
arr[1].test === 'string'; //is also true;
fill-functionを使用している間、各要素に対して新しいオブジェクトを作成することを記述する方法はありますか?それとも、ループに変換すればよいのでしょうか?
どのように解決するのですか?
まず
fill
という配列に任意の値(例えば
undefined
のように)、そして、その後に
map
:
var arr = new Array(2).fill().map(u => ({}));
var arr = new Array(2).fill().map(Object);
関連
-
[解決済み] URLを新しいタブで開く(新しいウィンドウではない)
-
[解決済み] オブジェクトをメンバーとして、プレーンなJavaScriptオブジェクトをループさせる方法
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み] jQueryでJavaScriptオブジェクトから選択する際に、オプションを追加する最も良い方法は何ですか?
-
[解決済み] 新しい配列を作成せずに、既存のJavaScript配列を別の配列で拡張する方法
-
[解決済み] Javascriptの配列に、指定された値に等しい属性を持つオブジェクトが含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] JavaScriptで配列の長さを初期化する方法は?
-
[解決済み] JavaScriptで{}またはnew Object()で空のオブジェクトを作成しますか?
-
[解決済み】UTCエポックをローカル日付に変換する
-
[解決済み] jqueryは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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] オブジェクトの配列からReactコンポーネントをレンダリングする
-
[解決済み] jQueryの$という記号の意味は何ですか?
-
[解決済み] サブドメインにまたがってlocalStorageを使用する
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] JavaScriptで長い配列を小さい配列に分割する方法
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?