js 中如何去掉数组中的重复的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 中如何去掉数组中的重复的数据相关的知识,希望对你有一定的参考价值。
可以使用js的for循环筛选实现去掉数组中的重复的数据。
具体步骤如下:
需要准备的材料分别是:电脑、浏览器、ultraedit。
1、在ue编辑器中新建一个空白的html文件,js文件。
2、在ue编辑器中输入以下html代码。
3、在ue编辑器中输入以下js代码。
4、编辑完成以后,在ue编辑器中点击保存,格式选择UTF8无BOM。
5、在浏览器中打开此html文件,可以看到最终想要实现的去掉数组中的重复的数据效果。
参考技术A需要准备的材料分别有:电脑、html编辑器、浏览器。
1、首先,打开html编辑器,新建html文件,例如:index.html。
2、在index.html中的<script>标签,输入js代码:
var a = [1, 56, 24, 56, 67], b = [];
for (var i = 0; i < a.length; i++)
if (b.indexOf(a[i]) === -1)
b.push(a[i]);
document.body.innerText = b;
3、浏览器运行index.html页面,此时打印出了数组去重后的结果。
参考技术B 这就是数组去重了。。。var str=['hello','node','element','node','hello','blue','red'];
var str1=[];
function first(args)
for(i=0;i<args.length;i++)
if(str1.indexOf(args[i])<0)
str1.push(args[i])
return str1;
first(str);
console.log(str1)
参考一下。。。从str数组中依次插入数据到str1数组中,str1.indexOf(args[i])这段是表示查询str1数组中是否存在str中要插入的数据。。返回false,即-1,表示没有,则将str中此数据插入到str1中,否则不执行,进行下一次循环。。本回答被提问者采纳 参考技术C
整理了网上的几种方法,并测试了性能效率问题,找了一个最优的贴出来供使用:
javascript高性能数组去重
看了网上很多大神的写法,蠢蠢欲动,于是自己照着也写了几个,选出来最优的一个拿出来与大家分享一下。
具体的使用方法和代码详见:
Js 高性能数组去重
5.去重(去掉数组中重复的数据)
方法一:
/* * 1.创建一个新数组,把原数组中的第一个元素插入到新数组中 * 2.遍历原数组中的每一个元素分别和新数组中的每一个元素进行比较 */ //原数组 var arr = [8,11,20,5,20,8,0,2,4,0,8]; // 新数组 var t = [];//var t = [8,11]; t[0] = arr[0]; //arr中的每个元素 for(var i=0;i<arr.length;i++){ //t中的每个元素 for(var k = 0;k<t.length;k++){ //当原数组中的值和新数组中的值相同的时候,就没有必要再继续比较了,跳出内循环 if(t[k] == arr[i]){ break; } //拿原数组中的某个元素比较到新数组中的最后一个元素还没有重复 if(k == t.length-1){ //将数据插入新数组 t.push(arr[i]); } } } console.log(t);
方法二:
//每一个元素和其右边元素都对比下,如果相同,则删除后面那个元素 var arrNew = [3,6,23,7,9,4,7,4]; for( var i = 0 ; i < arrNew.length ; ++i){ for( var j = i+1 ; j < arrNew.length; ++j){ if(arrNew[i] == arrNew[j]){ arrNew.splice(j,1); j--; } } } console.log(arrNew);
以上是关于js 中如何去掉数组中的重复的数据的主要内容,如果未能解决你的问题,请参考以下文章