JavaScript数组过滤相同元素的5种方法

 
JavaScript数组过滤相同元素的5种方法
2017-06-03 05:59:29 /故事大全

方法一:比较内层循环变量的值.

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);

所属专题:
如果您觉得本文或图片不错,请把它分享给您的朋友吧!

 
搜索
 
 
广告
 
 
广告
 
故事大全
 
版权所有- © 2012-2015 · 故事大全 SITEMAP站点地图-Foton Auman手机看故事 站点地图-Foton Auman