数组扁平化

r囧r小猫 2023-10-02 04:18 69阅读 0赞

没有指定层数的数组扁平化

  1. let arr = [1, [2, [1, 2, 3, [4, 5, 6]]], 18, [25, 12, [13, 14, 27]]]
  2. function flatten(arr) {
  3. let res = []
  4. for (let i = 0; i < arr.length; i++) {
  5. if (Array.isArray(arr[i])) {
  6. res = res.concat(flatten(arr[i]))
  7. } else {
  8. res.push(arr[i])
  9. }
  10. }
  11. return res
  12. }
  13. console.log(flatten(arr));

带有层数的数组扁平化

  1. let arr = [1, [2, [1, 2, 3, [4, 5, 6]]], 18, [25, 12, [13, 14, 27]]]
  2. function flatten(arr, k) {
  3. if (k == 0) {
  4. return arr
  5. }
  6. let res = []
  7. for (let i = 0; i < arr.length; i++) {
  8. if (Array.isArray(arr[i])) {
  9. res = res.concat(flatten(arr[i], k - 1))
  10. } else {
  11. res.push(arr[i])
  12. }
  13. }
  14. return res
  15. }
  16. console.log(flatten(arr, 2));

发表评论

表情:
评论列表 (有 0 条评论,69人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数组扁平

    概念:用于将嵌套多层的数组“拉平”,变成一维的数组 方法一:通过concat将二维数组转化为一维数组 原理:通过将扩展运算符,将数组内部展开,并通过concat连接两个

    相关 JS数组扁平

    一道笔试题,将一个嵌套数组扁平化处理。   ▍题目 > 将\[1,2,\[3,\[4,5\]\]\]转化成\[1,2,3,4,5\]。   ▍方法一:递归

    相关 js 数组扁平

    第一种 > 依次把每一项添加进新数组 > 如果为非数组,直接添加 > 如果为数组,则添加递归操作的结果 function flatten(ar