头脑风暴之——利用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函数的主要内容,如果未能解决你的问题,请参考以下文章