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

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

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

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

解決済

1回答

1639閲覧

typescript リスト(オブジェクト)の中の特定のキーの値を変更したい

yochun02

総合スコア76

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

0グッド

1クリップ

投稿2020/10/06 02:06

以下のように、リストにオブジェクトが格納されているとして、特定のキーを変更したいです。

typescript

1interface person { 2 name: string 3 age: number 4 height: number 5} 6const list: person[]= [ 7 { name: "田中 太郎", age: 17, height: 175}, 8 { name: "鈴木 花子", age: 16, height: 160} 9 ] 10 11// 例えばnameのうち苗字だけを残す 12const list2 = [ 13 { name: "田中", age: 17, height: 175}, 14 { name: "鈴木", age: 16, height: 160} 15 ] 16// 年齢に+3を加える 17const list3 = [ 18 { name: "田中 太郎", age: 20, height: 175}, 19 { name: "鈴木 花子", age: 19, height: 160} 20 ]

などです。自分はmapを使って新たにリストを作り直そうと思ったのですが、undefinedとなってしまいました。

typescript

1console.log( 2 list.map(l => {name: l["name"], age: l["age"], height: l["height"]}) 3) 4 5[ERR]: "Executed JavaScript Failed:" 6[ERR]: age is not defined 7

どなたかご教授ください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

javascript

1console.log( 2 list.map(l => {name: l["name"], age: l["age"], height: l["height"]}) 3)

恐らくワンライナーで書かれたと思いますが、{}がブロックだと認識されて何も値を返さない状態になっていると思います。
下記のようにすればエラーが出なくなりませんか?

javascript

1console.log( 2 list.map(l => { return {name: l["name"], age: l["age"], height: l["height"]} }) 3)

投稿2020/10/06 02:12

nekoniki

総合スコア2411

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

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

yochun02

2020/10/06 02:16

無くなりました!ありがとうございます。 やりたいことの方針としては上に書いたことで宜しいのでしょうか?(もっとシンプルな方法とかはないですかね?)
nekoniki

2020/10/06 02:18

> やりたいことの方針としては上に書いたことで宜しいのでしょうか? はい、元になる配列から部分的に変更した配列を作るならmapでいいかなと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問