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基础的动画教程,直观易懂
Jan 10 Javascript
禁止js文件缓存的代码
Apr 09 Javascript
jQuery UI Autocomplete 体验分享
Feb 14 Javascript
javascript从右边截取指定字符串的三种实现方法
Nov 29 Javascript
node.js中使用socket.io的方法
Dec 15 Javascript
使用mini-define实现前端代码的模块化管理
Dec 25 Javascript
jQuery控制网页打印指定区域的方法
Apr 07 Javascript
Bootstrap模态框案例解析
Mar 05 Javascript
jquery实现tab键进行选择后enter键触发click行为
Mar 29 jQuery
ES6中Generator与异步操作实例分析
Mar 31 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
May 23 Javascript
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
PHP 自动加载的简单实现(推荐)
2016/08/12 PHP
利用PHP判断文件是否为图片的方法总结
2017/01/06 PHP
js中传递特殊字符(+,&amp;)的方法
2014/01/16 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
JS实现动态修改table及合并单元格的方法示例
2017/02/20 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
简单实现js点击展开二级菜单功能
2017/05/16 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
uni-app从安装到卸载的入门教程
2020/05/15 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
flask中主动抛出异常及统一异常处理代码示例
2018/01/18 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
Django数据库操作之save与update的使用
2020/04/01 Python
python绘制高斯曲线
2021/02/19 Python
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
AMAVII眼镜官网:时尚和设计师太阳镜
2019/05/05 全球购物
俄罗斯卫浴采暖及维修用品超级市场:Dkrussia
2020/05/12 全球购物
卫校毕业生个人自我鉴定
2014/04/28 职场文书
企业宗旨标语
2014/06/10 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
公司2014年度工作总结
2014/12/10 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
2016年主题党日活动总结
2016/04/05 职场文书