js 深入理解题目解析

Array.prototype.deepFlatten = function() {
    var result = []; //定义保存结果的数组
    this.forEach(function(val, idx) { //遍历数组
        if (Array.isArray(val)) { //判断是否为子数组
            val.forEach(arguments.callee); //为子数组则递归执行
        } else {
            result.push(val); //不为子数组则将值存入结果数组中
        }
    });
    return result; //返回result数组
}

你可能感兴趣的:(js 深入理解题目解析)