代码之家  ›  专栏  ›  技术社区  ›  John Garrahan

不使用展平函数展平嵌套数组

  •  1
  • John Garrahan  · 技术社区  · 8 年前

    1,2,3 3. 3. 3. 3..........3

    function flattenArray(input) {
    var result = [];
    console.log(input.toString());
          for(i = 0; i < input.length; i++) {
               if(input[i].constructor === Array) {
               result.push(flattenArray(input[i]));
          } else {
               result.push(input[i]);
      }
    }
        return result;
    }
    
    console.log(flattenArray([[1,2,[3]],4]));
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   tyler_mitchell    8 年前

    Array.prototype.flatten = function () {
        var ret = [];
        for (var i = 0; i < this.length; i++) {
            if (Array.isArray(this[i])) {
                ret = ret.concat(this[i].flatten());
            } else {
                ret.push(this[i]);
            }
        }
        return ret;
    };
    

    这是一个函数:

    function flattenArray(input) {
        console.log(input.toString());
        var ret = [];
        for (var i = 0; i < input.length; i++) {
            if (Array.isArray(input[i])) {
                ret = ret.concat(flattenArray(input[i]));
             } else {
                ret.push(input[i]);
            }
        }
        return ret;
    }