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

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

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

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

Q&A

解決済

1回答

466閲覧

[javascript]連想配列で特定、複数の属性を削除したい

ren0

総合スコア1

JavaScript

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

0グッド

0クリップ

投稿2020/06/14 13:01

編集2020/06/14 13:39

以下のような連想配列があり、title,textのkeyvalueを配列から削除したいと思います
news.delete["title"]的な表記で、繰り返し処理を省略する方法があればご教授ください。

news:[{ id:'', start_day:'', end_day:'', title:'', text:'', }, { id:'', start_day:'', end_day:'', title:'', text:'', }, { id:'', start_day:'', end_day:'', title:'', text:'', },]

こういう形にしたい

    {id:'', start_day:'', end_day:'',},

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

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

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

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

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

think49

2020/06/14 13:09

どんなコードでも繰り返し処理は必要です
kei344

2020/06/14 13:29

「繰り返し処理」を具体的にしてください。複数回同じことをすることを「繰り返し処理」と定義するなら「方法は無い」という結論にしかなりません。
think49

2020/06/14 13:49 編集

何度でもいいますが、繰り返し処理を使わなければ、複数オブジェクトのプロパティ削除は出来ません。 全てのオブジェクトの参照値が同じなら、繰り返し処理は不要になりますが。
guest

回答1

0

ベストアンサー

こんにちは
ご質問にある、

繰り返し処理などを使わずに

を、「for 文を使わないで、なるべく手短なコードで。」と解釈しての一例を回答します。(この解釈が、ご質問の趣旨に合わないようであれば、この回答は無視してくださってかまいません)

配列の要素であるオブジェクトから、

title,textのkeyvalueを

除いたオブジェクトを作るコードを自作してもよいですが、lodash の _.omit を使うと楽です。以下は、これの使用例です。

javascript

1const obj = { 2 news: [ 3 { 4 id: '1', 5 start_day: 'start_day1', 6 end_day: 'end_day1', 7 title: 'title1', 8 text: 'text1', 9 }, 10 { 11 id: '2', 12 start_day: 'start_day2', 13 end_day: 'end_day2', 14 title: 'title2', 15 text: 'text2', 16 }, 17 { 18 id: '3', 19 start_day: 'start_day3', 20 end_day: 'end_day3', 21 title: 'title3', 22 text: 'text3', 23 } 24 ] 25}; 26 27obj.news = obj.news.map(e => _.omit(e, ['title', 'text'])); 28

投稿2020/06/14 13:42

jun68ykt

総合スコア9058

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問