js中如何去除list中的重复数据

JavaScript020

js中如何去除list中的重复数据,第1张

最笨的方法:

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)