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

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

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

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

Q&A

解決済

2回答

379閲覧

多次元配列の要素数のスタイリッシュな出力の仕方

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

0グッド

0クリップ

投稿2022/11/27 01:04

やりたいこと

下記の数字を多次元配列に直して要素数を取り出し、配列の長さを取得する。

1 2 3 4 5 6 8 1 3 3 1 8

やったこと

javascript

1 let array =[ 2 [1,2,3,4,5,6], 3 [8,1,3,3,1,8] 4 ] 5 6 let M = array[0].length; 7 let N = array[1].length; 8 9 console.log(M + N); 10 11//上記が冗長だと思ったので、以下のコードで取り出せないか試したところ 12 console.log(array[0,1].length) 13//結果 14[ 1, 2, 3, 4, 5, 6 ] 1 になってしまった

ご教示いただきたいこと

前項の私のコードでは、冗長なのかもしれないと感じましたので
もっと効率的な書き方があれば教えていただきたいです。

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

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

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

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

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

Cocode

2022/11/27 01:33

> 下記の数字を多次元配列に直して要素数を取り出し、配列の長さを取得する。 欲しい結果はなんですか><?12?
guest

回答2

0

ベストアンサー

コード例① .reduce()

javascript

1const array = [ 2 [1, 2, 3, 4, 5, 6], 3 [8, 1, 3, 3, 1, 8] 4]; 5 6const result = array.reduce((acc, cur) => acc + cur.length, 0); 7console.log(result); // 12
.reduce()について

すごく雑にいうと合計値を計算できるメソッドです。

javascript

1配列.reduce((蓄積値, 現在の要素) => { 処理 }, 初期値);
使用例

javascript

1const arr = [1, 3, 5, 7]; 2 3const sum = arr.reduce((acc, cur) => acc + cur, 0); // 16 4const product = arr.reduce((acc, cur) => acc * cur, 1); // 105

コード例② .flat()

一次元配列化してしまい、lengthを取得すれば一発。

javascript

1const array = [ 2 [1, 2, 3, 4, 5, 6], 3 [8, 1, 3, 3, 1, 8] 4]; 5 6const result = array.flat().length; 7console.log(result); // 12

投稿2022/11/27 01:42

編集2022/11/27 11:19
Cocode

総合スコア2314

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

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

退会済みユーザー

退会済みユーザー

2022/11/27 02:46

ご回答ありがとうございます! 2通りでご教示いただきありがとうございます! 早速使って、身につけていきます!
Cocode

2022/11/27 11:19

お役に立ててよかったですm(_ _)m
guest

0

array.flat().length

12が返される。

あと質問に

console.log(array[0,1].length)
//結果
[ 1, 2, 3, 4, 5, 6 ] 1 になってしまった

とあるのは間違い。array[0,1].length は6となる。

投稿2022/11/27 02:01

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2022/11/27 02:44

ご回答いただきありがとうございます! flat()知りませんでした。ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問