JS简单实现数组去重的方法分析


Posted in Javascript onOctober 14, 2017

本文实例讲述了JS简单实现数组去重的方法。分享给大家供大家参考,具体如下:

var arr = ['abc','abcd','sss','2','d','t','2','ss','f','22','d'];
//定义一个新的数组
var s = [];
//遍历数组
for(var i = 0;i<arr.length;i++){
  if(s.indexOf(arr[i]) == -1){ //判断在s数组中是否存在,不存在则push到s数组中
    s.push(arr[i]);
  }
}
console.log(s);
//输出结果:["abc", "abcd", "sss", "2", "d", "t", "ss", "f", "22"]

运行结果:

JS简单实现数组去重的方法分析

关于indexOf()方法:

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

stringObject.indexOf(searchvalue,fromindex)

该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。

如果在数组中没找到字符串则返回 -1。

关于push()方法:

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

注意: 新元素将添加在数组的末尾。

注意: 此方法改变数组的长度。

Javascript 相关文章推荐
javascript window对象属性整理
Oct 24 Javascript
jquery load()在firefox(火狐)下显示不正常的解决方法
Apr 05 Javascript
使用javascript提交form表单方法汇总
Jun 25 Javascript
AngularJS实现的回到顶部指令功能实例
May 17 Javascript
vue和webpack项目构建过程常用的npm命令详解
Jun 15 Javascript
使用vue的transition完成滑动过渡的示例代码
Jun 25 Javascript
使用layer弹窗和layui表单实现新增功能
Aug 09 Javascript
利用angular自动编译andriod APK的绕坑经历分享
Mar 08 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
Aug 16 Javascript
JS中间件设计模式的深入探讨与实例分析
Apr 11 Javascript
使用vant的地域控件追加全部选项
Nov 03 Javascript
JS实现纸牌发牌动画
Jan 19 Javascript
jQuery响应滚动条事件功能示例
Oct 14 #jQuery
JS实现的简单表单验证功能完整实例
Oct 14 #Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 #jQuery
JavaScript实现鼠标滚轮控制页面图片切换功能示例
Oct 14 #Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
Oct 14 #jQuery
jQuery基于cookie实现换肤功能实例
Oct 14 #jQuery
浅谈vue路径优化之resolve
Oct 13 #Javascript
You might like
PHP 动态随机生成验证码类代码
2010/04/09 PHP
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
php数据库操作model类(使用__call方法)
2016/11/16 PHP
PHP实现创建微信自定义菜单的方法示例
2017/07/14 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
Vuex 入门教程
2018/01/10 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
NodeJS实现同步的方法
2019/03/02 NodeJs
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
vue.js click点击事件获取当前元素对象的操作
2020/08/07 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
[02:44]DOTA2英雄基础教程 克林克兹
2014/01/15 DOTA
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
Python类的多重继承问题深入分析
2014/11/09 Python
python通过zlib实现压缩与解压字符串的方法
2014/11/19 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
《临死前的严监生》教学反思
2014/02/13 职场文书
彩妆大赛策划方案
2014/05/13 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
见习报告的格式
2014/11/04 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python