在JavaScript中,有几种常见的数组去重方式。以下是一些常见的方法,以及它们的优缺点:
const myArray = [1, 2, 2, 3, 4, 4, 5]
const uniqueArray = [...new Set(myArray)]
console.log(uniqueArray)
const myArray = [1, 2, 2, 3, 4, 4, 5]
const uniqueArray = myArray.filter((value, index, self) => self.indexOf(value) === index)
console.log(uniqueArray)
const myArray = [1, 2, 2, 3, 4, 4, 5]
const uniqueArray = myArray.reduce((accumulator, currentValue) => {
if (!accumulator.includes(currentValue)) {
accumulator.push(currentValue)
}
return accumulator
}, [])
console.log(uniqueArray)
const myArray = [1, 2, 2, 3, 4, 4, 5]
const uniqueArray = Array.from(new Map(myArray.map(value => [value, value])).values())
console.log(uniqueArray)
使用 Set 的方式 是目前在实际开发中应用较广泛的方法。它简洁、直观,并且能够高效地去重。在不需要保留原始数组元素顺序的情况下,这是推荐的方式。
如果需要保留原始数组中的元素顺序,而且不使用ES6特性的话,使用 filter 和 indexOf 的方式 是一个不错的选择。
选择去重方式时,可以根据实际需求和性能考虑来决定使用哪种方法。
持续学习总结记录中,回顾一下上面的内容:
在JavaScript中,有几种常见的数组去重方式。Set、filter 和 indexOf、reduce、Map
使用 Set 的方式 是目前在实际开发中应用较广泛的方法。它简洁、直观,并且能够高效地去重。在不需要保留原始数组元素顺序的情况下,这是推荐的方式。