摘要:数组扁平化方法递归循环数组元素,如果还是一个数组,就递归调用该方法注意和方法的返回值不同方法使用来简化方法的代码方法方法转成字符串方法把字符串切割成数组字符串拼接方法方法则当其中一个返回,则最终结果为,相当于逻辑运算符。
数组扁平化
const a = [[1], [3, [4, 5, [6, 7]]], [8], [9, [2, 10]]]方法1:递归
循环数组元素,如果还是一个数组,就递归调用该方法
function flatten1(arr){ let res = []; for(var i=0;i方法2: 使用reduce来简化方法1的代码:
function flatten2(arr){ return arr.reduce((prev, cur) => prev.concat(Array.isArray(cur) ? flatten2(cur) : cur),[]) }方法3:toString方法转成字符串,split方法把字符串切割成数组,字符串拼接方法
function flatten3(arr){ return arr.toString().split(",").map(item=> +item) }方法4:some则当其中一个返回true,则最终结果为true, 相当于逻辑运算符||。
function flatten4(arr){ while(arr.some(item => Array.isArray(item))){ arr = [].concat(...arr); } return arr; }方法5:every方法表示当数组每个元素在判定函数中都返回true,则最终结果为true,相当于逻辑运算符 &&
function flatten5(arr) { while (!arr.every(item => typeof item === "number" && !isNaN(item))) { arr = [].concat(...arr); console.log(arr); } return arr; } console.log(...a)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/99016.html
摘要:题目已知如下数组编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组实现数组扁平化去重排序解析数组扁平化判断数组子元素是否为数组是的话进行递归否则把子元素变为数组的执行结果为的执行结果为数组去重通过实现 题目: 已知如下数组:var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, ...
一、什么是数组扁平化 扁平化,顾名思义就是减少复杂性装饰,使其事物本身更简洁、简单,突出主题。 数组扁平化,对着上面意思套也知道了,就是将一个复杂的嵌套多层的数组,一层一层的转化为层级较少或者只有一层的数组。 Ps: flatten 可以使数组扁平化,效果就会如下: const arr = [1, [2, [3, 4]]]; console.log(flatten(arr)); // [1, ...
我们现在来说说怎么写一下数组扁平化flat(),怎么样?简单说题目就是数组扁平化(也可以叫做手动封装flat()方法),如何写好那? 按照不同的星级进行打分: 五星打分制 满分: ⭐⭐⭐⭐⭐ 题目实现扁平化的方法 封装 flatten 题目描述: 有多级嵌套数组 :[1, [2, [3, [4, 5]]], 6]将其扁平化处理 输出:[1,2,3,4,5,6] 什么是扁平化 定义...
阅读 1179·2023-04-26 02:38
阅读 1472·2021-11-22 09:34
阅读 1179·2021-09-26 10:19
阅读 3158·2019-08-29 17:15
阅读 3514·2019-08-29 12:27
阅读 1714·2019-08-26 13:51
阅读 1856·2019-08-26 13:47
阅读 1009·2019-08-26 12:20