最笨的方法:
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插件也存在去重复的方法。
用循环做. 把代码复制进一个html文件中在浏览器打开点击某一个li就可以看到效果了
<html><head>
<meta http-equiv="Content-Type" content="text/html charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<div id="list">
<li class="a1">第一个</li>
<li class="a12">第二个</li>
<li class="a13">第三个</li>
<li class="a14">第四个</li>
<li class="a51">第五个</li>
<li class="a16">第六个</li>
</div>
</body>
<script>
function js(id){ return document.getElementById(id) }
var li = js("list").getElementsByTagName("li").length
for(var i=0i<lii++)
{
js("list").getElementsByTagName("li")[i].onclick = function(){
this.remove()
}
}
</script>
</html>
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)