来自刘:
接管两个参数,要去重数组和新数组

    //去重    function distincts(arr, newarr) {        for (let i = 0; i < arr.length; i++) {            if (newarr.indexOf(arr[i]) === -1) {                newarr.push(arr[i])                console.log(newarr)            }        }        return newarr    }    console.log(distincts(['s', 'u', 'c', 'e', 's', 's'], []))

来自龙:
转自:https://juejin.cn/post/706373...

    // 用Set去重。一个简略的形式, 然而又与太简略已被在面试中禁用    function my_sort1(arr) {        return [...new Set(arr)]    }    // 用indexOf去重。应用api(这里indexOf就是api)的去重形式    function my_sort2(arr) {        let newArr = []        for (let val of arr) {            if (newArr.indexOf(val) === -1) {                newArr.push(val)            }        }        return newArr    }    // 用Map去重。尽量不应用api的办法    function my_sort3(arr) {        // 创立一个映射实例        let map = new Map()        for (let i = 0, len = arr.length; i < len; i++) {            // 若该映射实例中没改映射则增加该映射            if (!map[arr[i]]) {                map.set(arr[i], true)            }        }        // 将映射中的key取出创立一个新数组返回        return [...map.keys()]    }    console.log(my_sort3(['s', '', '', null, null, undefined, undefined,        function test() {},        function test() {}, 'u', 'c', 'c', 'e',        's', 's'    ]))//['s', '', null, undefined, ƒ, ƒ, 'u', 'c', 'e']。这里不知为啥无奈去重函数