JavaScript 去除数组中的重复元素
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>去除一个数组中重复的元素</title>
</head>
<body>
<script type="text/javascript">
/*
* 方法一:
*/
var arr = [1, 0, 2, 1, 8, 1, 0, 10, 8];
var obj = {};
var temp = [];
for(var i=0; i<arr.length; i++) {
if(!obj[arr[i]]) {
obj[arr[i]] = 1;
temp.push(arr[i]);
}
}
console.log(temp); //1,0,2,8,10
/*
* 方法二:
*/
var arr2= [1, 0, 2, 1, 8, 1, 0, 10, 8, 9, 11];
var arr3 = [];
for(var i=0; i<arr2.length; i++) {
//indexOf()方法从数组的开头(位 置 0)开始向后查找,返回索引号
if((arr3.indexOf(arr2[i])) < 0) {
arr3.push(arr2[i]);
}
}
console.log(arr3);//1,0,2,8,10,9,11
/*
* 方法三:
*/
//filter():对数组中的每一项运行给定函数,返回该函数会返回 true的项组成的数组。
var arr4 = [0, 10, 22, 0, 10, 1, 2, 3, 1];
var arr5 = arr4.filter(function(element, index, arr4) {
return arr4.indexOf(element) == index;
});
console.log(arr5); //0,10,22,1,2,3
</script>
</body>
</html>