%%{init: {'flowchart': {'nodeSpacing': , 'rankSpacing': , 'padding': }}}%%graph LR A --> B{选择容器} B -->|Set| C B -->|Map| D B -->|Object| E C --> F D --> F E --> F classDef start fill:#2E8B57,color:#fff,stroke:#1e5c3a,stroke-width:2px classDef step fill:#8338EC,color:#fff,stroke:#5e27a8,stroke-width:2px classDef check fill:#FFB703,color:#,stroke:#cc8c00,stroke-width:2px class A,F start class C,D,E step class B check
说实话,数组去重这事吧,咱就是说简单却又不简单,你懂的。
// 方法12:new Set 转数组——一行经典// Set 用 SameValueZero 比较,NaN 也Neng正确去重function unique12 { // 展开成数组,迭代顺序与元素首次插入 Set 的顺序一致 return }// 方法13:Map.set + keys// 适合"按键去重,值携带其他信息"的场景function unique13 { const map = new Map // 键重复时覆盖值,keys 迭代顺序仍为各键首次插入顺序 arr.forEach) return }// 方法14:Object 字面量哈希// 注意: 与 '' 会被合并;数字键会被引擎按升序重排// 会变成 function unique14 { const obj = {} // 属性名会转成字符串,对象等引用类型键易撞成 '' for obj = item return Object.values}