当前位置: 首页 > news >正文

谈谈网站建设创新问题逆冬黑帽seo培训

谈谈网站建设创新问题,逆冬黑帽seo培训,做网站维护工资多少,做网站需要编程么1、ES6的Set方法去重 new Set是ES6新推出的一种类型。它和数组的区别在于,Set类型中的数据不可以有重复的值。当然,数组的一些方法Set也无法调用。 使用方法:将一个数组转化为Set数据,再转化回来,就完成了去重。 cons…

1、ES6的Set方法去重

new Set是ES6新推出的一种类型。它和数组的区别在于,Set类型中的数据不可以有重复的值。当然,数组的一些方法Set也无法调用。
使用方法:将一个数组转化为Set数据,再转化回来,就完成了去重。

 const arr = [1,1,2,2,3,3,4,4,5,5];const setData = Array.from(new Set(arr));console.log(setData);//[1,2,3,4,5]

注意:Set去重有一个弊端,它无法去重引用类型数据,只能是值类型的数据(比如全是string或者全是number)

2、indexOf去重

   const  unique=(arr)=>{let repeatArr = [];for(let i = 0,len = arr.length; i < len; i++){if (repeatArr.indexOf(arr[i]) === -1)  repeatArr.push(arr[i])return repeatArr }}unique([1,1,2,2,3,3])// [1,2,3]

注意:这个方法也有一个细节点,您或许已经发现了,上文的if 和 for 没有花括号;是的;for 和 if 都默认对下面一条语句负责。在没有必要的情况下,不用多加一个{}。

3、includes去重

使用includes的去重方法和indexOf不能说很像,基本上一模一样。变换的仅仅只是判断方法。
includes的判断方法更简单了,循环数组的每一样,用新数组检测当前数组中是否包含数组项,如果不包含,则追加该元素。

const handleRemoveRepeat = (arr) =>{let repeatArr = [];for(let i = 0, len = arr.length; i < len; i++)if(!repeatArr.includes(arr[i]))repeatArr.push(arr[i])return repearArr;
}

4、filter去重

const unique = (arr) => arr.filter((item,index) => arr.indexOf(item,0)===index);
unique([1,1,2,2,3,3,4,4])
//[1,2,3,4]

indexOf 的特性是返回被查找的目标中包含的第一个位置的索引

[1,2,3,4,1].indexOf(1)
//0

下标为0和下标为4的位置存储的都是“1”。但是indexOf()只返回了0。因为indexOf 的特性是返回被查找的目标中包含的第一个位置的索引,我们可以利用这个特性来完成去重。

5、ES5常用:双重for循环,然后splice去重

var arr = [10,20,30,10,20,30,10,100,2,3];
function uniqArr(arr){//遍历数组中的每一个元素for(var i =0; i<arr.length; i++){//获取索引i之后的索引的数组元素for(arr[i] == arr[j]){arr.aplice(j,1); //删除重复元素j--;}}return arr;
}
consolr.log(uniqArr(arr))

6、Map()

has方法可以判断Map对象中是否存在指定元素,有则返回true,否则返回false
set方法可以向Map对象添加新元素map.set(key,value)
values方法可以返回Map对象值的遍历器对象

let arrObj = [{ name: "小红", id: 1 },{ name: "小橙", id: 1 },{ name: "小黄", id: 4 },{ name: "小绿", id: 3 },{ name: "小青", id: 1 },{ name: "小蓝", id: 4 }
]
//方法一:
let map = new Map();
for(let item of arrObj){if(!map.has(item.id)){map.set(item.id,item);}
};
arr=[...map.values()];
console.log(arr);
//方法二:
const map =new Map()
const newArr= arrObj.filter(v=> !map.has(v.id) && map.set(v.id, 1));
console.log(newArr)

JS对象数组去重
1、使用reduce

例1:
function uniqueFun(arr,uniId){let hash = {}return arr.reduce((accum,item) =>{hash[item[unId]] ?‘’ :hash[item[uniId]] = true && accum.push(item)return accum},[])
}
例2:
var arrData = [{id: , name: "小明"},{id: , name: "小张"},{id: , name: "小李"},{id: , name: "小孙"},id: , name: "小周"},{id: , name: "小陈"},
];
var obj = {}
val cur =[]
arrData = arrData.reduce((cur,next) =>{obj[next.id] ? "" :obj[next.id] = true && cur.push(next);return cur;
},[]) 
console.log(arrData)

2、使用filter和Map(强烈推荐)

function unique(arr,uniId){const res = new Map()return arr.filter((item) => !res.has(item[uniId]) && res.set(item[uniId], 1))
}
http://www.mmbaike.com/news/104484.html

相关文章:

  • 网络空间上海网站seo外包
  • ims2009 asp企业网站建设杭州网站建设公司
  • 51趣优化网络seo工程师教程seo服务公司招聘
  • 网站建设时应该做的优化优化网站的意思
  • 网站的搜索功能怎么做现在广告行业好做吗
  • 丰台网站建设公司关键词歌曲
  • 网站的jsp页面怎么做seo兼职
  • 河南建站网站有什么推广的平台
  • 网站建设特色百度收录是什么意思
  • 什么样的网站需要备案推广怎么做才可以赚钱
  • 怎么做报名网站关键词优化是怎么做的
  • 哪家公司做网站建设比较好百度云服务器官网
  • 网上书店网站模板主流网站关键词排名
  • 网上给别人做设计的网站如何做好网上销售
  • 网络营销是什么含义快速整站优化
  • 怎么做网站教程 建站视频免费友情链接网
  • 网站开发 面试 适当吹牛如何做好网络推广销售
  • 不会做网站如何做seo一键优化大师下载
  • 软件b2c网站建设seo工具包括
  • django做网站快吗12345浏览器网址大全
  • 建设网站策划书百度长尾关键词挖掘工具
  • 深圳菜谱制作魔贝课凡seo课程好吗
  • 在微信中做网站企业推广平台
  • 上海企业网站黄页微博推广方式
  • 网站分析百度个人网站推广平台大全
  • 建设手机银行官方网站2024年瘟疫大爆发
  • 什么是网站建设的建议关于营销的最新的新闻
  • 怎样优化网站案例新闻摘抄
  • 担路网口碑做网站好吗开发网站的流程
  • 淮安专业做网站网站建设哪个公司好