es6数组对象去重的方法
随着JavaScript言的进步,在 ES6 中引入了新的语法,使得操作数组具有更加多样的方式。ES6数组对象去重方法,在实现时就更加简单直接,同时也更加安全可靠。
在 ES6 中,提供了两个 Array象的方法,帮助我们去重:Set Array.from()。
#### Set
Set ES6定义的一种数据结构,它一般用来保存不重复的值,所以它也是一个数组去重最常用的方法。
Set重时,要确保先将原数组转换成 Set象,再重新转换为数组:
```javascript
// ES6
let arr = [1,2,3,4,5,5,5,5];
let result = [...new Set(arr)];
console.log(result); // [1, 2, 3, 4, 5]
```
Set象的这种特性,可以很容易的实现数组对象去重。由于 Set象是一种特殊的数据结构,所以它可以记录值的类型,同时它也可以保持值的唯一性,可以说它是实现数组去重的一个很好的工具。
#### Array.from()
Array.from()法可以将任何类似数组的对象转换成一个真正的数组,这个方法同样可以实现数组去重的目的:
javascript数组对象 ```javascript
// ES6
let arr = [1,2,3,4,5,5,5,5];
let result = Array.from(new Set(arr));
console.log(result); // [1, 2, 3, 4, 5]
```
Array.from()以将任何类似数组的对象转换成一个真正的数组,相比 Set重,它在小型数据量的情况下,性能更优,所以也可以作为一种数组去重的方法。
在 ES6 中,可以使用 Set Array.from()法来实现数组对象去重,这样在实现时,就变得更加高效、安全可靠了。
除此之外,我们在实现数组对象去重时,还可以使用其他的方法,比如利用 for环及 indexOf()法:
```javascript
// ES5
let arr = [1, 2, 3, 4, 5, 5, 5, 5];
let result = [];
for(let i = 0; i < arr.length; i++){
if (result.indexOf(arr[i]) === -1){
result.push(arr[i]);
}
}
console.log(result); // [1, 2, 3, 4, 5]
```
使用 for环及 indexOf()法,可以出当前位置数组元素是否在 result组中出现过,如果没有出现过,则添加到 result组中,保证 result组中元素不重复。
在 ES5 ES6 中,我们能够使用以上多种方法来实现数组对象去重,但是要确定用哪种方
法,需要根据实际的需求来决定。在没有限制的情况下,最好使用 ES6 Set者 Array.from()法,这样实现起来更加简单,同时也能够更好地保证数组对象的安全性。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论