最笨的方法:
var list = [1, 2, 3, 6, 7, 8, 9, 1, 2, 3, 6]//有重复的数组var obj = {}//用于标记字符串
var arr = []//去掉重复后的数组
for (var i = 0, len = list.length i < len i++) {
var s = list[i]
if (obj[s]) continue//如果字符串已经存在就跳过
else {
obj[s] = s//加入标记对象中
arr.push(s)//结果放入新数组中
}
}
当jquery中有封装好的去重复方法,还有其他第三方js插件也存在去重复的方法。
原因:数组从0开始,//删除数组中的元素 那一段
arr.remove(1) //其实是移出的第二个。第一个为0
.....
arr.remove(3)
//要实现 打印 b2b 应为
var list=new Array(0,2)
var arr = ['a','b','c','d','e','f','g','h','i']for(let i=0i<arr.lengthi++){
// arr.splice(i,1)//(循环删除所有元素)i是索引,1是长度,null的意思是该元素替换为null
if(i==2){
arr.splice(i,1)//删除第2个元素
arr.splice(i+2,1,null)//把第4个位置的元素替换为null
arr.splice(i+3,2,['w','z'])//把第5和第6位置的元素替换为w和z
}
}
删除对象:
let list = that.navList[1].orderList
let index = list.findIndex(val =>val.time === item.time)
index !== -1 &&list.splice(index, 1)