javascript数组去重

在JavaScript中,去重数组是一个常见的操作,以下是几种常用的方法:

1. 使用 Set 数据结构:

javascript<p>const arr = [1, 2, 3, 4, 4, 5, 6, 6, 7];<p>const unique = [...new Set(arr)];<p>console.log(unique); // 输出: [1, 2, 3, 4, 5, 6, 7]<p>

2. 使用 filter 方法:

javascript<p>const arr = [1, 2, 3, 4, 4, 5, 6, 6, 7];<p>const unique = arr.filter((item, index, array) => array.indexOf(item) === index);<p>console.log(unique); // 输出: [1, 2, 3, 4, 5, 6, 7]<p>

3. 使用 reduce 方法:

javascript<p>const arr = [1, 2, 3, 4, 4, 5, 6, 6, 7];<p>const unique = arr.reduce((accumulator, current) => {<p>if (!accumulator.includes(current)) {<p> accumulator.push(current);<p>}<p>return accumulator;<p>}, []);<p>console.log(unique); // 输出: [1, 2, 3, 4, 5, 6, 7]<p>

4. 使用 for 循环和 indexOf 方法:

javascript<p>const arr = [1, 2, 3, 4, 4, 5, 6, 6, 7];<p>const unique = [];<p>for (let i = 0; i < arr.length; i++) {<p>if (unique.indexOf(arr[i]) === -1) {<p> unique.push(arr[i]);<p>}<p>}<p>console.log(unique); // 输出: [1, 2, 3, 4, 5, 6, 7]<p>

5. 使用 sort 方法:

javascript<p>const arr = [1, 2, 3, 4, 4, 5, 6, 6, 7];<p>arr.sort();<p>const unique = [arr];<p>for (let i = 1; i < arr.length; i++) {<p>if (arr[i] !== arr[i - 1]) {<p> unique.push(arr[i]);<p>}<p>}<p>console.log(unique); // 输出: [1, 2, 3, 4, 5, 6, 7]<p>

以上方法各有优缺点,选择哪一种取决于具体的应用场景和个人偏好。需要注意的是,SetMap 方法在ES6中引入,因此需要确保你的环境支持ES6或更高版本的JavaScript。