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 相关文章推荐
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
Nov 10 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
js几秒以后倒计时跳转示例
Dec 26 Javascript
使用phantomjs进行网页抓取的实现代码
Sep 29 Javascript
bootstrap改变按钮加载状态
Dec 01 Javascript
javascript用函数实现对象的方法
May 14 Javascript
封装获取dom元素的简单实例
Jul 08 Javascript
Vue.js Ajax动态参数与列表显示实现方法
Oct 20 Javascript
JS中解决谷歌浏览器记住密码输入框颜色改变功能
Feb 13 Javascript
很棒的vue弹窗组件
May 24 Javascript
Vue2.0生命周期的理解
Aug 20 Javascript
JS如何判断对象是否包含某个属性
Aug 29 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上传大文件失败的原因及应对策略
2015/10/20 PHP
常用一些Javascript判断函数
2012/08/14 Javascript
jQuery下的动画处理总结
2013/10/10 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
使用koa2创建web项目的方法步骤
2019/03/12 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
基于JQuery实现页面定时弹出广告
2020/05/08 jQuery
python脚本实现统计日志文件中的ip访问次数代码分享
2014/08/06 Python
Windows下安装python2和python3多版本教程
2017/03/30 Python
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
python九九乘法表的实例
2017/09/26 Python
pyqt5的QComboBox 使用模板的具体方法
2018/09/06 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
django自带调试服务器的使用详解
2019/08/29 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
Softmax函数原理及Python实现过程解析
2020/05/22 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
CSS3模块的目前的状况分析
2010/02/24 HTML / CSS
美国知名玩具品牌:Melissa & Doug
2016/08/16 全球购物
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
华为的Java面试题
2014/03/07 面试题
陈欧广告词
2014/03/14 职场文书
信息工作经验交流材料
2014/05/28 职场文书
Python爬虫基础讲解之请求
2021/05/13 Python
python 爬取华为应用市场评论
2021/05/29 Python
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android