当前位置: 首页 > Web前端 > CSS

JS基础入门(十五)——数组去重

时间:2023-03-30 14:01:53 CSS

目的:去除数组中重复的内容。eg:把数组[2,3,1,4,2,2,3,4,1,5,"1"]改成[2,3,1,4,5,"1"]。思路一:每次取出数组中的一项,与其他所有项进行比较。如果比较有相同的,则删除重复项(稍后)。<脚本>vararr=[2,3,1,4,2,2,3,4,1,5,"1"];//遍历数组for(vari=0;i思路二:准备一个空数组res,然后遍历arr如果arr中的item在res中不存在,就把这个item放到res中如果有res什么都不做得到,就是去重后得到的数组。<脚本>vararr=[2,3,1,4,2,2,3,4,1,4,"1"];//[2,3,1,4]varres=[2];for(vari=0;i思路1和2的缺点:如果数组内容中有两个NAN,因为NAN不等于自己。因此,它不能被删除。思路三:统计所有项出现的次数,组成一个对象。对象的键名是每一项的元素,对象的键值是该项出现的次数。最后,我们只需要统计所有的键名即可。<脚本>vararr=[2,3,1,4,2,2,3,4,1,4,2];//[2,3,1,4]varres={};varresArr=[];//{//2:4,//3:2,//1:2,//4:3//}for(vari=0;i这个方法的问题是:1.如果数组中有一个数字1和一个字符串“1”,遍历键名时,两者相同,并且生成的数组将缺少数字1.2。键名是一个字符串,以字符串的形式存储,插入数组时,也是以字符串的形式存储在数组中。改进思路3思路4使用es6Set...