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

JavaScriptのネストされた配列を処理し、ネストされたレベルに応じて番号の順序を表示するにはどうすればよいですか?


次のような数値のネストされた配列があるとします-

const arr =[23、6、[2、[6,2,1,2]、2]、5、2];

この配列の数値(要素)を画面に出力するプログラムを作成する必要があります。

数字の印刷順序は、ネストされているレベルに応じている必要があります。したがって、上記の入力の出力は次のようになります-

23
6
   2
      6
      2
      1
      2
   2
5
2

このためのコードは-

になります
<!DOCTYPE html>
<html>
<head>
   <meta charset="utf−8">
   <meta name="viewport" content="width=device−width">
   <title>PATTERN</title>
</head>
<body>
   <script>
      const arr = [23, 6, [2, [6, 2, 1, 2], 2], 5, 2];
      arr.reduce(function iter(level) {
         return function (node, item) {
            var pTag = document.createElement('p');
            pTag.style.marginLeft = level + 'px';
            node.appendChild(pTag);
            if (Array.isArray(item)) {
               item.reduce(iter(level || 50), pTag);
            } else {
               pTag.appendChild(document.createTextNode(item));
            }
            return node;
         };
      }(0), document.body);
   </script>
   <p></p>
</body>
</html>

そして、画面上の出力は-

になります

JavaScriptのネストされた配列を処理し、ネストされたレベルに応じて番号の順序を表示するにはどうすればよいですか?


  1. JavaScriptで現在の数よりも小さい数を数える

    数値の配列を受け取るJavaScript関数を作成する必要があります。 関数は、入力配列に基づいて新しい配列を作成する必要があります。 新しい配列の対応する各要素は、元の配列で対応する要素よりも少ない要素の数である必要があります。 例- 入力配列が-の場合 const arr = [2, 7, 3, 1, 56, 4, 7, 8]; その場合、出力配列は-になります。 const output = [1, 4, 2, 0, 7, 3, 4, 6 ]; 例 以下はコードです- const arr = [2, 7, 3, 1, 56, 4, 7, 8]; const smallerTh

  2. JavaScriptの配列で、数値を昇順で並べ替え、文字列をアルファベット順に並べ替える

    問題 数値と文字列の配列を受け取るJavaScript関数を作成する必要があります。この関数は、最初に数値が昇順で並べ替えられ、次に文字列がアルファベット順に並べ替えられた単一の配列を返すことになっています。 値は元のタイプを維持する必要があります。 例 以下はコードです- const arr = [5, 8, 'car', 'dad', 'amber', 1, 12, 76, 'bat']; const separateSort = (arr = []) => {    const sorter