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

网站如何做长尾词排名谷歌广告联盟官网

网站如何做长尾词排名,谷歌广告联盟官网,手机开发者选项有什么用,网站是用什么编程语言编写的数组去重的几种方法 1.遍历数组法这是最简单的数组去重方法,实现思路:新建一新数组,传入要去重的数组,遍历该数组,若值不在新数组中则加入该数组;需要注意点:判断值是否在数组的方法“indexOf”…

数组去重的几种方法

  • 1.遍历数组法

这是最简单的数组去重方法,实现思路:新建一新数组,传入要去重的数组,遍历该数组,若值不在新数组中则加入该数组;需要注意点:判断值是否在数组的方法“indexOf”是ECMAScript5 方法,IE8以下不支持,示例如下:

function removeDup(arr) {let new_arr = [];arr.forEach((val) => {if(new_arr.indexOf(val) === -1){new_arr.push(val);}});return new_arr;
}
  • 2.对象键值对法

思路:新建一对象以及数组,遍历传入的数组,判断值是否为js对象的键,若不是则新增键值,并放入数组中;需要注意的地方:判断是否为js对象键时,会自动对传入的键toString();

    function removeDup2(arr) {let obj = {},new_arr = [],val,type;for(let i = 0, len = arr.length; i < len; i+=1) {val = arr[i];type = typeof val;if(!obj[val]) {obj[val] = [type];new_arr.push(val);}else if(obj[val].indexOf(type) === -1) {obj[val].push(type);new_arr.push(val);}}return new_arr;}
缺点:无法真正区分两个对象,如:`{a:1}`和`{a: 2}`,因为typeof结果都是`"object"`,可用`JSON.stringify()`来解决;
es6优化后如下
    function unique(array) {let obj = {};let type;return array.filter((item, index, array) => {type = typeof item + JSON.stringify(item);return obj.hasOwnProperty(type) ? false : (obj[type] = item);} )}// 可去除undefined, NaN, Object重复项
  • 3.排序后相邻去除法


    思路:首先将要去重的数组使用sort方法排序后,相同的值就会排在一起,然后就可以只判断当前元素与上一个元素是否相同,若不同则添加进去;

        function unique(array) {let res = [];let sortedArray = array.slice(0).sort();//先排序let seen;//记录上一个元素for(let i = 0, len = sortedArray.length; i < len; i++) {let current = sortedArray[i];if(!i || seen !== current) {res.push(current);}seen = current;}return res;}

    优化:可传入一个isSorted参数,表明该数组是否已排序,如果为true,那么就判断相邻元素是否相同;如果为false,则使用indexOf判断:

        function unique(array, isSorted) {let res = [];let seen;//记录上一个元素for(let i = 0, len = array.length; i < len; i++) {let current = array[i];if(isSorted) {if(!i || seen !== current) {res.push(current);}seen = current;}else if(res.indexOf(current) === -1) {res.push(current);}}return res;}

    再优化:想象一个场景,你需要对数组的每一项进行一些处理,但又不想再遍历一次,那么可添加第三个参数itreatee,接受一个函数作为处理函数;

        function unique(array, isSorted, iteratee) {let res  = [];let seen = [];for(let i = 0, len = array.length; i < len; i++) {let value = array[i];let computed = iteratee ? iteratee(value, i, array) : value;if(isSorted) {if(!i || seen !== computed) {res.push(value);}seen = computed;}else if(iteratee) {if(seen.indexOf(computed) === -1) {res.push(value);seen.push(computed);}}else if(res.indexOf(value) === -1) {res.push(value);}}return res;}
  • 4.ES6,Set和Map去重

    function unique(array) {return Array.from(new Set(array));}//扩展运算符简化let unique = (arr) => [...new Set(arr)];//使用Mapfunction unique(array) {let seen = new Map();return arr.filter((a) => !seen.has(a) && seen.set(a, 1));}
http://www.lbrq.cn/news/2727037.html

相关文章:

  • 品牌的佛山网站建设怎么找拉新推广平台
  • 如何自己做门户网站益阳网站seo
  • 建站快车官网如何做百度关键词推广
  • 找公司做网站注意事项优化系统的软件
  • 安微省建设厅网站seo推广优化外包公司
  • 个人备案能做什么网站电商培训有用吗
  • 网站访问量大打不开舆情视频
  • 用php做动态网站google海外推广
  • 微信做兼职什么网站好6个好用的bt种子搜索引擎
  • 手机wap网站制作免费最全的百度网盘搜索引擎
  • 网站怎么做适配谷歌网站网址
  • 营口网站开发建网站哪个平台好
  • 网站制作样板网站seo检测
  • 网站怎么做隐藏内容seo和sem的联系
  • 郑州最近新闻事件汕头seo快速排名
  • 西安谁家做网站湖南seo
  • 网站建设教育类旧式网站seo网络推广是什么意思
  • 做黄页网站要告我上海百度搜索优化
  • 万江区网站仿做北京seo优化厂家
  • 网站制作预付款会计分录百度下载安装 官方
  • 建设银行确认参加面试网站怎么做营销推广
  • 制作网站的程序如何做宣传推广效果最好
  • 厦门关键词seo排名网站最新国内新闻重大事件
  • wordpress 时间线seo关键词排名报价
  • 知名室内设计网站谷歌排名算法
  • 怎么设计海报图片郑州seo排名工具
  • 网站推广培训哪里好seo整站优化费用
  • 用ae做模板下载网站推广自己的网站
  • 陕西恒立建设集团网站cms自助建站系统
  • 销客多分销小程序价格汕头seo优化培训
  • Python爬取推特(X)的各种数据
  • 【Golang】:流程控制语句
  • HarmonyOS 实战:用 List 与 AlphabetIndexer 打造高效城市选择功能
  • 高防CDN和高防IP的各自优势
  • java中在多线程的情况下安全的修改list
  • 从“存得对”到“存得准”:MySQL 数据类型与约束全景指南