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

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

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

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

解決済

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

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

2回答

0グッド

0クリップ

203閲覧

投稿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 になってしまった

ご教示いただきたいこと

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

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

Cocode

2022/11/27 01:33

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

回答2

1

ベストアンサー

コード例① .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

総合スコア2104

spoofy_dragon👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

退会済みユーザー

退会済みユーザー

2022/11/27 02:46

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

2022/11/27 11:19

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

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()知りませんでした。ありがとうございます!

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

JavaScript

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