思路:
- 构建一个新的数组res存放结果;
- for循环中每次从原数组中取出一个元素,判断这个元素在res中的索引值是否<0,若结果<0,则说明res中没有这个元素,因为数组的索引值是从0开始的,如,0,1,2,3……
- 若结果数组中没有该元素,则存到结果数组中;
代码如下:
方法一:
// 自定义一个数组
var arr = [1,2,3,1,2,3,1,1,1,2,2,2];
// 新建一个空数组,存放结果
var res = [];
for ( var i = 0; i < arr.length; i++ ){
if( res.indexOf(arr[i]) < 0 ){
res.push(arr[i]);
}
}
console.log(res);
indexOf()方法的使用:
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
如果某个字符串(string)不在数组里面,那么无论string的值是什么indexOf(string)输出的值都是 -1
方法二:
思路:
- 构建一个新的数组存放结果;
- for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比;
- 若结果数组中没有该元素,则存到结果数组中;
// 自定义一个数组
var arr = [1,2,3,1,2,3,1,1,1,2,2,2];
// 新建一个空数组,存放结果
var res = [];
for ( var i = 0; i < arr.length; i++ ){
// console.log(arr[i]);
var repeat = false;
for ( var j = 0; j < res.length; j++ ){
if( arr[i] == res[j]){
repeat = true;
break;
}
}
if(!repeat){
res.push(arr[i]);
}
}
console.log(res);
推荐使用方法一;