目录javascript合并多层级数组需求代码一点想法javascript数组操作合集改变原数组不改变原数组例:let a = [11,22,33] 求和总结javas
返回一个数组的最低层级展现(遍历出数组中每个元素)
const deepFlatten = arr=>[].concat(...arr.map(v=>Array.isArray(v)?deepFlatten(v) : v));
console.log('[1,[2],[3,[4]],[5,[6,[7,8]]]]合并后的数组为:'+deepFlatten([1,[2],[3,[4]],[5,[6,[7,8]]]]));
效果
Array的map()方法会返回处理后的结果,搭配使用es6中新的特性——扩展运算符…使递归更加高效、易懂。
数组操作:
arr.push(value)
数组尾部增加arr.pop()
数组尾部删除arr.unshift(value)
数组头部增加arr.shift()
数组头部删除arr.sort((a,b)=>a-b)
数组排序(升序)arr.splice(start,length,value…)
数组指定位置增删arr.reverse()
数组倒置delete arr[i]
数组清空某一个值为undefinedarr.fill(value,start,end)
填充数组arr.copyWithin(targe,start,end)
数组切片复制到数组新位置arr.toString()
数组转化成字符串Array.from(arr)
set类型等类数组转化成数组arr.forEach(fn)
遍历arr.filter(fn)
筛选arr.map(fn)
遍历arr.slice(start,end)
裁剪arr.findIndex((item,index,arr)=>{})
找值,返回序号arr.find(fn)
找值,返回值arr.indexOf(item,start)
找值,返回序号,不能查找NaNarr.includes(item,index)
找值,返回boolean,可查找NANarr.lastIndexOf(item,start)
反向找值,返回序号arr.some(fn)
找是否存在,返回booleanarr.every(fn)
所有子项是否条件都符合,返回booleanarr.join(‘’)
用什么拼接arr.reduce(fn)
数组累计执行arr.reduceRight(fn)
for(let [k,v] of a.entries())
遍历key和valuearr.flat(层级)
层级摊平arr.flatMap(fn)
类似map,层级无视arr.concat(value)
合并数组Array.isArray(arr)
判断是否是数组arr.entries()
返回数组的课迭代对象,key和valuearr.keys()
返回数组的课迭代对象arr.values()
返回数组的课迭代对象ruduce((sum,item)=>{sum+=item;return sum})
function isArrayLike(o) {
if (o
&& typeof o === 'object' &&
Number.isFinite(o.length) &&
o.length >= 0 &&
Number.isInteger(o.length) &&
o.length < 4294967295) {
return true
} else {
return false
}
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: javascript如何合并多层级数组
本文链接: https://www.lsjlt.com/news/177985.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0