头脑风暴之——利用reduce方法重构concat函数

Posted 勇敢*牛牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了头脑风暴之——利用reduce方法重构concat函数相关的知识,希望对你有一定的参考价值。

利用reduce方法重构concat函数

Array.prototype.myconcat = function () 
    var res = this;
    var a = Array.prototype.slice.apply(arguments)
    return a.reduce(function(p,e)
    	//*****************************************
        if(Array.isArray(e))
            var x = e.reduce(function(v,t)
                v.push(t)
                return v
            ,p)
            return x
        else
            p.push(e)
            return p
        
        //*******************************************
    ,res)


var i = [1, 2, 3, 4]
console.log(i.myconcat([34, 5, 6], 78, [25, 34],[23,76,[1,2,3]]));
//[1, 2, 3, 4, 34, 5, 6, 78, 25, 34, 23, 76, Array(3)]
a = [1,2,3]
b = [4,5,6]

var x = a.reduce(function(v,t)
	//这里不能直接返回return v.push(t)
	v.push(t)
	return v
,b)
console.log(x);
//

以上是关于头脑风暴之——利用reduce方法重构concat函数的主要内容,如果未能解决你的问题,请参考以下文章

《麦肯锡方法》第9章 头脑风暴-思维导图

《麦肯锡方法》第9章 头脑风暴-思维导图

头脑风暴法整理大量观点用啥工具

用最好的“积木”,在元宇宙中掀起一场头脑风暴吧!丨RTE 2022 编程挑战赛圆满收官...

MindMapper头脑风暴视图功能运用教程

近5年来头脑风暴优化算法的研究热点