[解決済み] ES6で2つのオブジェクトをマージする [重複].
2022-09-27 18:12:43
質問
この質問は以前にもされたことがあると思いますが、私が探している答えがなかなか見つからないので、ここに書いておきます。
私は以下のように2つのオブジェクトを持っています。
const response = {
lat: -51.3303,
lng: 0.39440
}
let item = {
id: 'qwenhee-9763ae-lenfya',
address: '14-22 Elder St, London, E1 6BT, UK'
}
これらを結合してこのような形にする必要があります。
item = {
id: 'qwenhee-9763ae-lenfya',
address: '14-22 Elder St, London, E1 6BT, UK',
location: {
lat: -51.3303,
lng: 0.39440
}
}
こうすればいいんだろうけど
item.location = {}
item.location.lat = response.lat
item.location.lng = response.lng
しかし、ES6ではクールなデストラクチャリング/アサイメントが導入されたので、これはもうベストな方法ではないと感じています。深いオブジェクトマージを試みましたが、残念ながらサポートされていません :( また、いくつかのramda関数に目を通しましたが、適用できるものは見つかりませんでした。
では、ES6を使用してこれら2つのオブジェクトをマージする最良の方法は何でしょうか?
どのように解決するのですか?
この場合
Object.assign()
を使って、新しいオブジェクトにマージすることができます。
const response = {
lat: -51.3303,
lng: 0.39440
}
const item = {
id: 'qwenhee-9763ae-lenfya',
address: '14-22 Elder St, London, E1 6BT, UK'
}
const newItem = Object.assign({}, item, { location: response });
console.log(newItem );
また オブジェクトの広がり これは ECMAScript の Stage 4 の提案です。
const response = {
lat: -51.3303,
lng: 0.39440
}
const item = {
id: 'qwenhee-9763ae-lenfya',
address: '14-22 Elder St, London, E1 6BT, UK'
}
const newItem = { ...item, location: response }; // or { ...response } if you want to clone response as well
console.log(newItem );
関連
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] 2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
-
[解決済み] HTML5のlocalStorageにオブジェクトを格納する方法は?
-
[解決済み] JavaScriptで2つの日付を比較する
-
[解決済み] ES6インポートで中括弧を使用するのはどのような場合ですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】JavaScriptで2つの配列を結合し、項目の重複を排除する方法
-
[解決済み】Node.jsのrequireとES6のimport/exportを使い分ける。
-
[解決済み】オブジェクトからプロパティを削除する(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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 2つのJavaScriptオブジェクトのプロパティを動的にマージするにはどうすればよいですか?
-
[解決済み] オブジェクトスプレッド vs. Object.assign
-
[解決済み] ES6+で2つのjavascriptオブジェクトをマージするにはどうしたらいいですか?
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
-
[解決済み] JavaScriptで、ある文字列が別の文字列の中に出現するすべてのインデックスを見つけるにはどうすればよいですか?
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。