数组扁平化解析
程序员文章站
2022-05-16 09:36:15
数组扁平化
数组扁平化实现方法:
1.递归
循环遍历数组,如果数组元素为一个数组,则递归调用扁平化方法。使用array.isarray()来判断是否为数组。
//1.递...
数组扁平化
数组扁平化实现方法:
1.递归
循环遍历数组,如果数组元素为一个数组,则递归调用扁平化方法。使用array.isarray()来判断是否为数组。
//1.递归 function flatten(arr){ var result=[]; for(var i=0;i2.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; };i++){>
上一篇: lucene-解析xml