当前位置: 移动技术网 > IT编程>网页制作>CSS > 数组扁平化解析

数组扁平化解析

2019年01月15日  | 移动技术网IT编程  | 我要评论

无敌翼手龙,搜秀影城,花果山公园

数组扁平化

数组扁平化实现方法:

1.递归

循环遍历数组,如果数组元素为一个数组,则递归调用扁平化方法。使用array.isarray()来判断是否为数组。

//1.递归
function flatten(arr){
	var result=[];
	for(var i=0;i

2.tostring()

这种方法只适用于数组元素均为数字类型。

//2.tostring 适用于数组元素为数字
function flatten(arr){
	return arr.tostring().split(",").map(function(item){
		return +item;
	});
}

3.reduce

es5的array新增的一种针对数组逐项处理方法。reduce()接受一个函数作为累加器,第二个可选参数为赋予的初始值。

//3. es5的reduce
function flatten(arr){
	return arr.reduce(function(prev,cur){
		return prev.concat(array.isarray(cur)flatten(cur):cur);
	},[]);
}

4.es6的扩展运算符

es6增加了扩展运算符,用于去除参数对象的所有可遍历属性,并拷贝到当前对象中。

//4.es6的扩展运算符
function flatten(arr){
	while(arr.some(item => array.isarray(item))){
		arr=[].concat(...arr);
	}
	return arr;
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网