详解JavaScript数组过滤相同元素的5种方法
程序员文章站
2023-11-25 11:54:40
方法一:比较内层循环变量的值.
var arr = [1, 2, 3, 1, 3, 4, 5, 5];
var resultarr = [];
for (i...
方法一:比较内层循环变量的值.
var arr = [1, 2, 3, 1, 3, 4, 5, 5]; var resultarr = []; for (i = 0; i < arr.length; i++) { for (j = 0; j < resultarr.length; j++) { if (resultarr[j] == arr[i]) { break; } } if (j == resultarr.length) { resultarr[resultarr.length] = arr[i]; } } console.log(resultarr); //1,2,3,4,5
方法二:计数法.
var arr = [1, 2, 3, 1, 3, 4, 5, 5]; var count; var resultarr = []; for (i = 0; i < arr.length; i++) { count = 0; for (j = 0; j < resultarr.length; j++) { if (resultarr[j] == arr[i]) { count++; break; } } if (count == 0) { resultarr[resultarr.length] = arr[i]; } } console.log(resultarr); //1,2,3,4,5
方法三:flag标志法(也叫假设成立法)
var arr = [1, 2, 3, 1, 2, 3, 4, 5, 5]; var resultarr = []; //[1,2,3] var flag; for (var i = 0; i < arr.length; i++) { flag = true; for (j = 0; j < resultarr.length; j++) { if (resultarr[j] == arr[i]) { flag = false; break; } } if (flag) { resultarr[resultarr.length] = arr[i]; } } console.log(resultarr);//1,2,3,4,5
方法四:使用sort()方法排序后比较
var arr = [1, 2, 3, 1, 2, 3, 4, 5, 5]; var resultarr = []; arr.sort(function (a, b) { return a - b; }); //这个时候arr变成了[1, 1, 2, 2, 3, 3, 4, 5, 5] for (i = 0; i < arr.length; i++) { if (arr[i] != arr[i + 1]) { resultarr[resultarr.length] = arr[i]; } } console.log(resultarr);
方法五:使用filter()方法筛选掉重复的数组
var arr = [1, 2, 3, 1, 2, 3, 4, 5, 5]; var resultarr; resultarr = arr.filter(function (item, index, self) { return self.indexof(item) == index; }); console.log(resultarr);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Bootstrap多级菜单的实现代码
下一篇: 最常用的jQuery表单验证(简单)