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

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

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

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

Q&A

解決済

2回答

495閲覧

JavaScript 連想配列の取り出し

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

0グッド

1クリップ

投稿2021/01/15 07:41

編集2021/01/15 08:07

JavaScriptで以下の様な配列があったとします
その場合mapなどを用いて取り出そうと思ったのですが引数が多くなるかと思い他の方法はないかと探しているのですがうまく取り出す方法がわかりません

全て取り出すのでfor文を使って取り出す方法を思いついたのですがモダンでなくあまり良くない方法なのでしょうか

JavaScript

1[ 2 {"name": "taro", "email": "taro@example.com", "sex": "men"}, 3 {"name": "kota", "email": "kota@example.com", "sex": "men"}, 4 {"name": "tamaguchi hanako", "email": "tamaguchi@example.com", "sex": "girl"}, 5]

期待する取得結果としてはliでユーザの情報をリストアップする様なイメージです

JavaScript

1 2const users = [ 3 {"name": "taro", "email": "taro@example.com", "sex": "men"}, 4 {"name": "kota", "email": "kota@example.com", "sex": "men"}, 5 {"name": "tamaguchi hanako", "email": "tamaguchi@example.com", "sex": "girl"}, 6]; 7 8 9for (let i = 0; i < users.length; i++) { 10 console.log(users[i]["name"]); 11 console.log(users[i]["email"]); 12}

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

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

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

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

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

int32_t

2021/01/15 07:44

「取り出す」という表現が不明瞭です。どういう結果が欲しいのか、具体的に書いてください。
m.ts10806

2021/01/15 07:46

要件次第 ですね。
退会済みユーザー

退会済みユーザー

2021/01/15 07:48 編集

全ての要素を取得する様にしたいです
退会済みユーザー

退会済みユーザー

2021/01/15 07:50

修正しました
miyabi_takatsuk

2021/01/15 07:50

全て取り出すのなら、 今、全体が配列の状態なので、 一番全てという状態に近いのですが・・・
miyabi_takatsuk

2021/01/15 07:51 編集

それだと、取り出す、ではなく、 HTMLに表示、ですね。正しくは。
退会済みユーザー

退会済みユーザー

2021/01/15 07:53

そうですね すいません
miyabi_takatsuk

2021/01/15 07:57 編集

まず、自身でできるところまでコード書いてみましょう。 今の質問状況だと、丸投げ質問とみなされてしまいます。 まず、自分でやってみて、どうしてもわからない部分を、 自身のソースコードも載せて、質問内容を修正お願いします。
miyabi_takatsuk

2021/01/15 07:58

> for文を使って取り出す方法を思いついたのですが この方法のソースコードを載せれば、丸投げ感は無くなると思いますよ
退会済みユーザー

退会済みユーザー

2021/01/15 08:08

追記しました とりあえずここの取得まで持っていきたいのですが今のままではスマートでないと思います
miyabi_takatsuk

2021/01/15 08:12

回答しましたが、 現状のやりたいことだと、 大した変わらない気がします。 (今の要件だと、これ以上やりようがない)
guest

回答2

0

こんな感じですか?

js

1[ 2 {"name": "taro", "email": "taro@example.com", "sex": "men"}, 3 {"name": "kota", "email": "kota@example.com", "sex": "men"}, 4 {"name": "tamaguchi hanako", "email": "tamaguchi@example.com", "sex": "girl"}, 5].flatMap(Object.values).forEach( x => document.body.insertAdjacentHTML('beforeend',`<li>${x}</li>` ) );

投稿2021/01/15 08:15

Lhankor_Mhy

総合スコア36960

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

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

0

ベストアンサー

全走査のみで、インデックスが必要ないなら、forEachが適当かと思います。

javascript

1const users = [ 2 {"name": "taro", "email": "taro@example.com", "sex": "men"}, 3 {"name": "kota", "email": "kota@example.com", "sex": "men"}, 4 {"name": "tamaguchi hanako", "email": "tamaguchi@example.com", "sex": "girl"}, 5]; 6 7users.forEach( (obj, index) => { 8 console.log(index); 9 console.log(obj["name"]); 10 console.log(obj["email"]); 11 console.log(obj["sex"]); 12}); 13

投稿2021/01/15 08:11

編集2021/01/15 08:16
miyabi_takatsuk

総合スコア9555

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

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

退会済みユーザー

退会済みユーザー

2021/01/15 08:14

あすいません書き忘れていてもうしわけないのですがインデックスが必要に成ります Reactを使用していてJSXで記載しているのでkeyが必要になり..
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問