数组去重
要求:
将一个数组中重复的数字只保留一个。且在操作过程中不引入第三个数组,直接对原数组进行修改。
- 示例代码
var arr=[1,3,3,4,5,4,3,9,6,6,7,];
console.log(arr);
for(var index in arr){//此时index为string类型
console.log(index);
for(var i=parseInt(index)+1;i<arr.length;i++){//i=index+1的结果是一个字符串“01”,“11”.......,其中+起到连字符的作用
if(arr[index]==arr[i]){//两个数字字符串的比较,从第一位开始逐位比较,不存在的位大于存在的位。
arr.splice(i,1);
}
}
}
- 要点
- 通过arr.splic(i,1);来实现数据的删除。
- 通过for的in循环来遍历数组。
易错点
- 得到的index的数据类型为string.
- index进行+1操作是会变成字符串的连接操作,得到字符串“01”.
字符串数组的比较
- 会从左到右逐位以整型进行比较,若相等则比较下一位,否则比较结果即为这两个字符串的比较结果。直到得出结果为止。
- 当比较的两位有一位为空时,不为空的一位大。