🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

JavaScript

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

2回答

925閲覧

多次元配列[ [a], [b] ,[c] ]から行数が等しいものだけを抽出した一次元配列を作りたい

yamayama-ya-ma

総合スコア14

多次元配列

1次元配列内にさらに配列を格納している配列を、多次元配列と呼びます。

JavaScript

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

1クリップ

投稿2019/10/30 13:00

編集2019/10/30 13:36

JavaScriptを使用

望みの出力結果&現状の方法

// foo, bar, bazの長さは必ず同じ。この3変数は所与 const foo = [1, 2, 3]; const bar = ["あ", "い", "う"]; const baz = ["A", "B", "C"]; const ary = [foo, bar, baz]; const output = []; const len = foo.length; for (i = 0; i < len; i++) { const str = [ ary[0][i], ary[1][i], ary[2][i] ]; output.push(str); } console.log(output); //出力結果(Chrome検証ツールより。出力はこの形式である必要があります) [1, "あ", "A"] [2, "い", "B"] [3, "う", "C"]

イメージ説明

連想配列は不使用

出力結果は、上記の状態で間違いありません。
この出力結果を初心者の方に出させるにあたって、もっとわかりやすい、または良いコードはありませんでしょうか?

諸事情(かなり長くなります)により、連想配列を使わない方針でお願いしたいです。

よろしくお願いいたします。

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

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

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

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

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

fukatani

2019/10/30 13:17 編集

何言語ですか?出力が連想配列に見えるので、無理ゲーに見えますが?
takasima20

2019/10/30 13:22

何某かの設問的なテキストを提示して作らせると思うのですが、それはどのようなものになりますか? というか、状況がわからんス。
guest

回答2

0

ベストアンサー

タイトルと実装が合ってないように思えるのですが、transposeがしたいということと理解してます。

こちらのqiitaなどにあるように実用としてはLodashでzipが簡単だと思います。
同じ記事にライブラリなしのワンライナーもあり、こちらも基本が身についていれば難解ではないと思います。

投稿2019/10/30 13:44

papinianus

総合スコア12705

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

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

papinianus

2019/10/30 13:46

逆にこれをオブジェクトにするほうが面倒なんですが、回答者がオブジェクトにしたがると思い込んだ理由を追記いただけると本当に困っていることが解決できるのかも知れないです
guest

0

初心者の方に出させるにあたって、もっとわかりやすい

  • つくった配列をstr変数に収めていますが、strは命名方法として分かりづらいですね

-const aryしている意味がないので分かりづらいです

javascript

1const foo = [1, 2, 3]; 2const bar = ["あ", "い", "う"]; 3const baz = ["A", "B", "C"]; 4const output = []; 5const len = foo.length; 6for (var i = 0; i < len; i++) { 7 const arr = [ foo[i], bar[i], baz[i] ]; 8 output.push(arr); 9} 10console.log(output);

普通にかけばこんな感じ

javascript

1const foo = [1,2,3,4,5]; 2const bar = ["あ","い","う","え","お"]; 3const baz = ["A","B","C","D","E"]; 4const res=foo.map((x,y)=>[x,bar[y],baz[y]]); 5console.log(res);

投稿2019/10/31 00:51

yambejp

総合スコア116661

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問