質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

7329閲覧

オブジェクト(連想配列)内の特定の値を一括で置き換えたい

bokupiroki

総合スコア54

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2022/01/06 14:23

前提・実現したいこと

既存のオブジェクトにおいて
特定の値の場合、一括で違う値に変換したいです。

訳があって、オブジェクト内のnullをすべて""に置き換えたいです。

↓元のオブジェクト

javascript

1var hoge = { 2 user:"山田", 3 question: "晩御飯は何ですか", 4 answer: "さっき食べたじゃないですか", 5 phoneNumber: null, 6 satisfaction:null, 7 type:null, 8}

↓置換後のオブジェクトはこうなってほしい

hoge = { user:"山田", question: "晩御飯は何ですか", answer: "さっき食べたじゃないですか", phoneNumber: "", satisfaction:"", type:"", }

発生している問題・エラーメッセージ

一括で置き換えるやり方が思いつきません。

hoge.phoneNumber=""
satisfaction=""
type=""
のように1個ずつ上書きしていけばできますが、
これだとnullを持つキーが増えた時に全部書かないといけません。

試したこと

別の人の質問
https://teratail.com/questions/213301
を参考に、

javascript

1hoge= hoge.map((e) => ({null: e[0], "": e[1]})); 2console.log(hoge) 3

と試しに書いてみましたが、
Error in mounted hook: "TypeError: hoge.map is not a function"とのエラーが出るだけでした。

厳密には上記の記事はオブジェクトの中身が配列なので、根本的にやり方が違うのかもしれません。
的外れなことをしていたら申し訳ありません。

自分がやりたいことにおいても、mapを使うようなやり方があるのでしょうか?

知恵を貸していただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

一旦、Arrayに変換します。

JavaScript

1hoge = Object.fromEntries( 2 Object.entries(hoge).map(([k,v]) => [k,v===null ? "" : v]) 3);

投稿2022/01/06 14:49

otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bokupiroki

2022/01/06 15:03

できました!ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問