var arr = [1,2,3,5,6,1,8,9,3,2,9,4];
//方法1: 设一个开关
function removeRepeat1(arr){
var result = [];
var flag = 1; //默认没有相同的
for (var i = 0; i < arr.length; i ++,flag = 1){
for (var j = 0; j < i; j ++){
if(arr[i] === arr[j]) {
flag = 0;
}
}
flag ? result.push(arr[i]) : "";
}
return result;
}
console.log( removeRepeat1(arr) );
// 方法2: 加一个对象
// 每次循环,判断对象obj中是否有arr[i]这一项,如果没有,就将arr[i]这一项放入obj中,并将arr[i]放入数组中
function removeRepeat2(arr){
var result = [];
var obj = {};
for (var i = 0; i < arr.length; i ++){
if(!obj[arr[i]]) {
obj[arr[i]] = arr[i];
result.push(arr[i]);
}
}
return result;
}
console.log( removeRepeat2(arr) );
//方法3:indexOf
function removeRepeat2(arr){
var result = [];
for (var i = 0; i < arr.length; i ++){
// 判断如果result数组中没有arr[i]这一项,则将arr[i]这一项放入数组中
result.indexOf(arr[i]) === -1 ? result.push(arr[i]) : "";
}
return result;
}
console.log( removeRepeat2(arr) );
数组去重方法
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 最近仿佛迷上了去重一样....发现了一种目前为止见过的最简单的去重方法主要逻辑,一行代码搞定.Take a loo...