如何创建用于展平数组的函数? Javascript 中的多维数组到一维数组

How to create a function for flatten an array? Multi dimensional array to one dimensional array in Javascript

我正在阅读 ruby 的数组展平函数并在 Javascript 中寻找类似的函数,但没有找到。所以,我自己创造了它。

    Input: [[1,2,[3]],4]
    Output : [1,2,3,4]

如果您想使用 reduce/concate 方法,您将无法获得多维数组所需的答案。

您认为的解决方案代码是什么?!!!

所以,这是我用来解决问题的代码。

    var givenArr = [[1,2,[3]],4];
    var outputArray = [];

    function typeOf(value) {
      var s = typeof value;
      if (s === 'object') {
        if (value) 
          {
            if (Object.prototype.toString.call(value) == '[object Array]') {
              s = 'array';
            }
          }else{
          s = 'null';
        }
      }
      return s;
    }

    function getElementFromArray(array)
    {
        if(array.length == 0 ) return;
        for(var i = 0; i< array.length; i++ )
        {
            if( typeOf(array[i]) === 'array' )
            {
                getElementFromArray(array[i]);
            }else{
                 outputArray.push(array[i]);
            }
        }
     }//end getElementFromArray

     getElementFromArray(givenArr);

     console.log(outputArray);

     //output [1,2,3,4]