#数组去重
大方向啊,先考虑非嵌套数组去重。
然后拓展题, 尝试一下先写测试的函数:
1 | const test = (fn, arg, result) => { |
往深的看,嵌套数组去重.往深了走.
包含数组
包含对象
那么子问题是, 如何判断一个对象是不是相同.
数组其实就递归使用上面的方法就好呀.
但是再往深的看,其实这里如果自己写判断相等的函数还是涉及到一些坑, 比如类型。js的类型判断有几个坑, 比如-0, NaN, 所以我墙裂推荐大家使用数组的includes方法,它本身的实现已经考虑到js变态的类型机制了。当然你完全可以自己写判断两个元素是否相等的函数, 这绝对没问题.