扁平化多维数组
本文最后更新于 718 天前,其中的信息可能已经有所发展或是发生改变。

将下面的多维数组打开,输出去重后的结果(扁平化数组)

function fn(array, result = []) {
    for (let i of array) {
        if (Array.isArray(i)) {
            fn(i, result)
        } else {
            result.push(i)
        }
    }
    return result
}
let s = fn([1, 2, 3, [1, 2, 2, 3, [4, 5, 6]]])
console.log([...new Set(s)]);

使用递归实现。将需要转化的数组以及结果作为参数传进去。然后循环数组中的每一项,判断是不是一个数组,如果是,则调用fn,否则将这项push到result数组里面,并return出来。

本文链接:https://likepoems.com/articles/flattening-multidimensional-arrays/
转载说明:本站文章若无特别说明,皆为原创,转载请注明来源:likepoems,谢谢!^^

评论

  1. Windows Chrome
    2 年前
    2022-5-20 20:34:55

    console.log([…new Set([1, 2, 3, [1, 2, 2, 3, [4, 5, 6]]].flat(9))])

    • 博主
      touchFish
      Windows Edge
      2 年前
      2022-5-21 12:30:57

      这个方法之前没用过,学到了

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇