詳解JavaScript數組過濾相同元素的5種方法
更新時間:2017年05月23日 14:25:51 作者:Lee_tanghui
本篇文章主要介紹了詳解JavaScript數組過濾相同元素的5種方法,詳細的介紹了5種實用方法,非常具有實用價值,需要的朋友可以參考下
方法一:比較內層循環(huán)變量的值.
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);
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
js中textContent、innerText和innerHTML的用法以及區(qū)別
這篇文章主要介紹了JavaScript中textContent、innerText和innerHTML的用法以及區(qū)別,需要的朋友可以參考下2023-05-05Webpack中l(wèi)oader打包各種文件的方法實例
這篇文章主要給大家介紹了關于Webpack中l(wèi)oader打包各種文件的相關資料,其中包括處理css文件、less文件、scss文件、url地址以及ES6高級語法的方法,需要的朋友可以參考下2019-09-09