Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptを使用した配列の要素のディープカウント


問題

要素のネストされた配列を受け取り、配列に存在する要素の深い数を返すJavaScript関数を作成する必要があります。

入力

const arr = [1, 2, [3, 4, [5]]];

出力

const output = 7;

レベル1の要素は2であり、レベル2の要素は2であり、レベル3の要素は1であるため、ディープカウントは7です。

以下はコードです-

const arr = [1, 2, [3, 4, [5]]];
const deepCount = (arr = []) => {
   return arr
   .reduce((acc, val) => {
      return acc + (Array.isArray(val) ? deepCount(val) : 0);
   }, arr.length);
};
console.log(deepCount(arr));

コードの説明

Array.prototype.reduce()メソッドを使用して配列を反復処理し、いずれかの反復でネストされた配列に遭遇した場合は、関数を再帰的に呼び出しました。

出力

7

  1. Javascriptを使用してキューに要素を追加する

    要素をキューにエンキューするということは、それらを配列の最後に追加することを意味します。コンテナ配列の最後をキューの末尾にします。これは、コンテナ配列に関してすべての挿入操作を実行するためです。 したがって、次のようにエンキュー関数を実装できます- 例 enqueue(element) {    // Check if Queue is full    if (this.isFull()) {       console.log("Queue Overflow!");    

  2. JavaScriptオブジェクトの配列で配列のメソッドを使用していますか?

    以下は、JavaScriptオブジェクトの配列で配列のメソッドを使用するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <styl