js数组操作方法总结(必看篇)


Posted in Javascript onNovember 22, 2016

判断数值数组中各个数字出现的奇偶次数

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>数组操作</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
    var arr=[3,1,2,2,1,3,1]; 
    var sum=[]; 
    var res=[]; 
    var count=0; 
    var temp; 
    for(var i=0;i<arr.length;i++){ 
      if(res.indexOf(arr[i])==-1){ 
        res.push(arr[i]); 
      } 
    } 
    for(var i=0;i<res.length;i++){ 
      for(var j=0;j<arr.length;j++){ 
        if(arr[j]==res[i]){ 
          count++; 
        } 
      } 
      sum.push(count); 
      count=0; 
    } 
    console.log(res);//[3,1,2] 
    for(var i=0;i<res.length;i++){ 
      var str=(sum[i]%2==0)?"偶数":"奇数"; 
      console.log(res[i]+"出现了"+sum[i]+"次"); 
      console.log(res[i]+"出现了"+str+"次"); 
    } 
  </script> 
  </body> 
</html>

阿里笔试-数组操作-找出两个数组中不同的元素

<script type="text/javascript"> 
  function diff(arr1,arr2){ 
  var ress = []; 
  var arr = arr1.concat(arr2); 
  for(var i=0,len=arr.length;i<len;i++){ 
     if((arr1.indexOf(arr[i])>=0 && arr2.indexOf(arr[i])<0) || (arr1.indexOf(arr[i])<0 && arr2.indexOf(arr[i])>=0)){ 
        ress.push(arr[i]); 
     } 
  } 
  return ress; 
} 
var arr1 = [1,2,3,5,7,6]; 
var arr2 = [1,2,5]; 
var res = diff(arr1,arr2); 
console.log(res);//[3, 7, 6] 
</script>

数组去重

方法1

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>数组去重01</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
  //给数组原型添加方法 
    Array.prototype.unique = function(){ 
      var arr = []; 
      for(var i=0,i=this.length;i<len;i++){ 
        if(arr.indexOf(this[i]) == -1){ 
          arr.push(this[i]); 
        } 
      } 
      return arr; 
    }; 
    console.log([1,2,3,2,5,6,3].unique());//[1, 2, 3, 5, 6] 
  </script> 
  </body> 
</html>

方法2

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>数组去重02</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
    Array.prototype.unique = function(){ 
    var n = {}, 
        r=[]; //n为哈希表,r为临时数组 
    for(var i = 0; i < this.length; i++) //遍历当前数组 
    { 
      if (!n[this[i]]) //如果hash表中没有当前项 
      { 
        n[this[i]] = true; //存入哈希表 
        r.push(this[i]); //把当前数组的当前项push到临时数组里面 
      } 
    } 
    return r; 
  } 
  console.log([1,2,3,2,5,6,3].unique());//[1, 2, 3, 5, 6] 
  </script> 
  </body> 
</html>

方法3

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>数组去重</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
    Array.prototype.unique = function(){ 
      var arr = [this[0]];//结果数组 
      for(var i=1;i<this.length;i++){//从第二项开始遍历 
        if(this.indexOf(this[i]) == i){ 
      //如果当前数组的第i项在当前数组中第一次出现的位置不是i,那么表示第i项是重复的,忽略掉。否则存入结果数组 
          arr.push(this[i]); 
        } 
      } 
      return arr; 
    } 
    console.log([1,2,3,4,2,3,4].unique());// [1, 2, 3, 4] 
  </script> 
  </body> 
</html>

方法4

<!DOCTYPE html> 
<html> 
<head> 
  <meta charset="utf-8"> 
  <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
  <title>filter</title> 
  <link rel="stylesheet" href=""> 
</head> 
<body> 
<script type="text/javascript"> 
var arr = [4,5,3,2,3,4,5,1]; 
function fn(num){ 
  var res = num.filter(function(item,index,array){ 
    return num.indexOf(item) === index;//num.indexOf(item)将会返回元素在数组第一次出现的位置 
    //对于多次出现的元素,除第一次外,其他情况都返回false 
  }); 
  return res; 
} 
console.log(fn(arr));//[4, 5, 3, 2, 1] 
</script> 
</body> 
</html>

方法5

<!DOCTYPE html> 
<html> 
<head> 
  <meta charset="utf-8"> 
  <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
  <title>Object 对象来当做哈希表</title> 
  <link rel="stylesheet" href=""> 
</head> 
<body> 
<script type="text/javascript"> 
function unique(a) { 
 var obj = {}; 
 return a.filter(function(item) {//filter会返回true的项组成的成员 
  return obj.hasOwnProperty(item) ? false : (obj[item] = true); 
 }); 
} 
 
var a = [1, 1, 3, 2, 1, 2, 4]; 
var res = unique(a); 
console.log(res); // [1, 3, 2, 4] 
</script> 
</body> 
</html>

以上就是小编为大家带来的js数组操作方法总结(必看篇)全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
javascript里的条件判断
Feb 27 Javascript
js 第二代身份证号码的验证机制代码
May 12 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
Apr 20 Javascript
JS不完全国际化&amp;本地化手册 之 理论篇
Sep 27 Javascript
webpack 2.x配置reactjs基本开发环境详解
Aug 08 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
Aug 29 jQuery
图片加载完成再执行事件的实例
Nov 16 Javascript
Vue 拦截器对token过期处理方法
Jan 23 Javascript
深入理解ES6中let和闭包
Feb 22 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
Jun 25 Javascript
js实现上下左右键盘控制div移动
Jan 16 Javascript
vue使用transition组件动画效果的实例代码
Jan 28 Vue.js
jQ处理xml文件和xml字符串的方法(详解)
Nov 22 #Javascript
js字符串操作总结(必看篇)
Nov 22 #Javascript
JavaScript的兼容性与调试技巧
Nov 22 #Javascript
关于Iframe父页面与子页面之间的相互调用
Nov 22 #Javascript
JS中BOM相关知识点总结(必看篇)
Nov 22 #Javascript
老生常谈原生JS执行环境与作用域
Nov 22 #Javascript
JS中位置与大小的获取方法
Nov 22 #Javascript
You might like
我的论坛源代码(十)
2006/10/09 PHP
php多文件上传功能实现原理及代码
2013/04/18 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
基于PHP实现用户登录注册功能的详细教程
2020/08/04 PHP
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
jQuery 使用手册(五)
2009/09/23 Javascript
基于javascript数组实现图片轮播
2016/05/02 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
vue-cli 关闭热更新操作
2020/09/18 Javascript
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
浅析Python多线程下的变量问题
2015/04/28 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
python实现按首字母分类查找功能
2019/10/31 Python
Python实现i人事自动打卡的示例代码
2020/01/09 Python
Python随机数函数代码实例解析
2020/02/09 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
python mysql中in参数化说明
2020/06/05 Python
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
大众服装店创业计划书范文
2014/01/01 职场文书
化学教师教学反思
2014/01/17 职场文书
节电标语大全
2014/06/23 职场文书
2014年话务员工作总结
2014/11/19 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
德生2P3收音机开箱评测
2022/04/30 无线电