原生JS去重
方式一:
function deleteRepetionChar(arr){
//先判断输入进来的是数组对象还是字符串
if( typeof arr == "object"){
var arr = arr;
}
else if( typeof arr == "string"){
//字符串转为数组
var arr = arr.split(",")
}
//存放不相同的数据
var box = [];//存放去重数据
var thisArr;//当前的值arr[i]
//遍历数组
for (var i = 0; i < arr.length; i++) {
thisArr = arr[i]
//定义一个旗子,检查是不是有重复的字符
var flag = true;
//遍历存放数据盒子,检查是否等于当前元素
//数据盒子中的数据是当前元素前面的元素
for (var j = 0; j < box.length; j++) {
//如果值存在
if(box[j]==thisArr){
flag = false;
break;
//结束for循环
}
}
if(flag==false){
//continue返回执行函数而不压入数组
continue ;
}
box.push(thisArr);
}
return box;
方式二:
function deleteRepetion(arr){
var arrTable = {},arrData = [];
for (var i = 0; i < arr.length; i++) {
if( !arrTable[ arr[i] ]){//检测一个对象中是否有arr[i]
arrTable[ arr[i] ] = true;
arrData.push(arr[i])
}
}
return arrData;
}
var arr=[1,1,2,3,2,1];
console.log(deleteRepetion(arr))
原生JS去重的更多相关文章
- 原生JS面试题
面试中遇到的原生js题总结 1.js 去重1) indexOf Array.prototype.unique = function(){ var result = []; var len = th ...
- 面试中遇到的原生js题总结
最近面试,遇到很多js相关的面试题,总结一下. 1.js 去重 1) indexOf Array.prototype.unique = function(){ var result = []; var ...
- .NET中的FileUpload控件的使用-原生JS(二)
本篇使用原生JS进行数据传输,使用FileUpload控件上传文件,适配IE. HTML <div class="container"> <div class=& ...
- 原生JS封装Ajax插件(同域&&jsonp跨域)
抛出一个问题,其实所谓的熟悉原生JS,怎样的程度才是熟悉呢? 最近都在做原生JS熟悉的练习... 用原生Js封装了一个Ajax插件,引入一般的项目,传传数据,感觉还是可行的...简单说说思路,如有不正 ...
- 常用原生JS方法总结(兼容性写法)
经常会用到原生JS来写前端...但是原生JS的一些方法在适应各个浏览器的时候写法有的也不怎么一样的... 今天下班有点累... 就来总结一下简单的东西吧…… 备注:一下的方法都是包裹在一个EventU ...
- 原生JS实现"旋转木马"效果的图片轮播插件
一.写在最前面 最近都忙一些杂七杂八的事情,复习软考.研读经典...好像都好久没写过博客了... 我自己写过三个图片轮播,一个是简单的原生JS实现的,没有什么动画效果的,一个是结合JQuery实现的, ...
- 再谈React.js实现原生js拖拽效果
前几天写的那个拖拽,自己留下的疑问...这次在热心博友的提示下又修正了一些小小的bug,也加了拖拽的边缘检测部分...就再聊聊拖拽吧 一.不要直接操作dom元素 react中使用了虚拟dom的概念,目 ...
- React.js实现原生js拖拽效果及思考
一.起因&思路 不知不觉,已经好几天没写博客了...近来除了研究React,还做了公司官网... 一直想写一个原生js拖拽效果,又加上近来学react学得比较嗨.所以就用react来实现这个拖 ...
- 原生JS实现全屏切换以及导航栏滑动隐藏及显示——重构前
思路分析: 向后滚动鼠标滚轮,页面向下全屏切换:向前滚动滚轮,页面向上全屏切换.切换过程为动画效果. 第一屏时,导航栏固定在页面顶部,切换到第二屏时,导航条向左滑动隐藏.切换回第一屏时,导航栏向右滑动 ...
随机推荐
- EF6
EF讲解 EF(entityframework) ORM框架中的一种 然后 我们来说下 什么是 ORM (对象映射关系) object relation Mapping 微软 为了更简化 使用 ...
- C++循环单链表删除连续相邻重复值
比如:1(头)->2->2->3->3->1->1(头) 去除以后的结果是1->2->3,注意头尾的1也要去掉一个. #include "st ...
- laravel-admin Field type [editor] does not exist.
把App/admin中的bootstrap.php 里边的Encore\Admin\Form::forget(['map', 'editor']);注释掉就行了 解决网址:http://tieba.b ...
- liunx weblogic服务启停脚本
#!/bin/bash #sh xx.sh start xx项目 例如:sh autoWeblogic.sh start bius #经测试发现weblogic 启动大概需要完全启动成功35秒左右 停 ...
- x64工程属性 选择切换不了
删除x64工程属性 重新建立新的 配置属性 和导入工程类似 属性冲突 最好重新建立新的工程 解决
- 【gin-vue-admin】 使用go和vue 快速搭建一个项目模板
gin-vue-admin gin+vue开源快速项目模板 项目地址:https://github.com/piexlmax/gin-vue-admin 增加了 micro-service-test分 ...
- 清楚webView的缓存
+(void)clearCache{ NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieStorage s ...
- elementUI中的el-xxx标签解释
点击跳转地址:https://blog.csdn.net/Tom__cy/article/details/89680067 el-col :整体,el-container: 主体区域el-toolti ...
- 【GDOI2017模拟12.9】最近公共祖先
题目 分析 首先,将这些节点按dfs序建一棵线段树. 因为按dfs序,所以在同一子树上的节点会放在线段树相邻的位置. 发现,对于一个位置x,它的权值只会对以x为根的子树造成影响. 当修改x时,用w[x ...
- 【leetcode】1229.Meeting Scheduler
题目如下: 你是一名行政助理,手里有两位客户的空闲时间表:slots1 和 slots2,以及会议的预计持续时间 duration,请你为他们安排合适的会议时间. 「会议时间」是两位客户都有空参加,并 ...