Posted in Javascript onJuly 19, 2018
本文实例分析了JavaScript去掉数组重复项的方法。分享给大家供大家参考,具体如下:
利用JavaScript的object的特性,我们可以非常容易的实现将一个数组的重复项去掉。
object的特性是:key一定是唯一的。
把数组重复项去掉:
1 将数组转换成一个object对象,数组的值作为object对象的 key
因为key是唯一的,碰到重复的数组值的时候,object不会添加key
2 将object对象转换成数组,key为数组的值。
在之前的重复数组,每一个值实际上对应object只有一个key,这样在还原到数组的时候,重复值就去掉了
<script> /*用object的特性去掉数组的重复项: 1 把数组转化成oject对象,用数组的值当作obj的key 2 把object再转换成数组 */ // 传入数组 返回object对象 var toObj = function( arr ){ obj = {}; for(var temp in arr){ //对arr的每一个值添加到obj的key,value都是true obj[arr[temp]] = true; } return obj; }; // 传入obj对象 返回arr数组 var toArr = function( obj ){ var arr = []; for(var temp in obj){ //把所有的key push到数组当中 arr.push(temp); } return arr; }; //把两个方法联合起来 var getUniq = function(arr){ return toArr( toObj(arr) ); }; var arr = [1,1,2,2,3,3,4,4,5,5,5,6,6,6,6,6,6,5,4,3,54,8,11]; console.log(getUniq(arr)); </script>
使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun,运行结果如下:
JavaScript去掉数组重复项的方法分析【测试可用】
- Author -
稀里糊涂林老冷声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@