您好,欢迎访问一九零五行业门户网

JavaScript中数组如何过滤掉相同元素的5种方法分享

本篇文章主要介绍了详解javascript数组过滤相同元素的5种方法,详细的介绍了5种实用方法,非常具有实用价值,需要的朋友可以参考下
方法一:比较内层循环变量的值.
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);
以上就是javascript中数组如何过滤掉相同元素的5种方法分享的详细内容。
其它类似信息

推荐信息