一、数组去重

  var arr = [0,1,20,3,0,45,6,0];
  Array.prototype.unrepeat = function(){
    var array = [];
    for(var i = 0;i<this.length;i++){
      if(array.indexOf(this[i]) === -1){
        array.push(this[i]);
      }
    }
    return array;
  }
console.log(arr.unrepeat());

二、数组排序

  var arr = [1,5,9,4,8,7]
  arr = arr.sort(function(a,b){return a-b})        // 升序  
  console.log(arr);

三、数组对象的排序

  var arr = [{id:1},{id:7},{id:5},{id:9},{id:20},{id:3}]
  arr = arr.sort(function(a,b){return a.id - b.id})
  console.log(arr)

四、字符串转换数组的小方法

  1)eval():  

    var arr = "[1,2,3,4,5]";
    console.log(eval(arr))      //  性能较差

  2)JSON.parse();

    var arr = "[1,2,3,4,5]";
    console.log(JSON.parse(arr))

  3)es6的Array.of()

    console.log(Array.of(1,2,3,4,8))
    console.log(Array.of("a","b","c","d"))

  4)非字符串数组格式的字符串转化成数组

    var arr = "1,2,3,4,5";
    arr = "["+arr+"]"
    console.log(JSON.parse(arr),eval(arr));

五、数组转化成字符串

  1)toString()

    var arr = ["Creek","Sinoshy","Stream"]

    console.log(arr.toString())   // 以“,”作为分隔符

  2)join()

    var arr = ["Creek","Sinoshy","Stream"]

    console.log(arr.join())   // 默认以逗号分隔,如果给参数,那么会根据给的参数进行分隔

六、删除两个数组中相同的元素

  let arr1 = [1,5,7];
  let arr2 = [1,2,3,4,5,6,7]
  for(let i = 0;i < arr1.length;i ++){
    for(let x = 0;x < arr2.length;x ++){
      if(arr1[i] === arr2[x]){
        arr2.splice(x,1)
      }
    }
  }
  console.log(arr2)

Js 数组的各种方法及操作的更多相关文章

  1. 关于JS数组的栈和队列操作

    1.js支持重载吗? 虽然js 本身并没有函数重载,但是可以用arguments来模拟重载,函数名相同,参数不同,arguments的length属性,获取参数个数,索引属性获取参数值 2.什么是作用 ...

  2. JS —— 数组与字符串方法

    数组 1. 基本方法  1)Array.prototype.unshift(item1,item2,item3...) 描述: 在数组的前面添加元素,一次可以传入多个参数. 注意:元素会根据当前传入的 ...

  3. js数组去重的方法(转)

    JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...

  4. js数组高阶方法reduce经典用法代码分享

    以下是个人在工作中收藏总结的一些关于javascript数组方法reduce的相关代码片段,后续遇到其他使用这个函数的场景,将会陆续添加,这里作为备忘. javascript数组那么多方法,为什么我要 ...

  5. JS 数组常用的方法

    数组常用的方法: x.toString()方法:任何对象都有toString方法.        将任何对象转为字符串. 一般不主动调用,系统在需要时自动调用 x.valueOf()方法:同toStr ...

  6. js数组的forEach方法能不能修改数组的值

    如果要使用数组的forEach()方法对其改值时,需要直接通过arr[i]这种方式来更改. 请看下面代码: // 数组改值 let arr = [1,3,5,7,9]; arr.forEach(fun ...

  7. js数组之迭代方法

      ES5为数组对象定义了5个迭代方法(即递归,简单的说就是自己可以调用自己). 每个方法接收两个参数:要在每一项上运行的函数(接收3个参数:数组项的值,该项在数组中的位置,数组对象本身)和(可选的) ...

  8. js 数组中的方法

    <!DOCTYPE html><html><head> <title>数组的方法</title> <meta charset=&quo ...

  9. js数组的splice方法

    w3school文章链接:http://www.w3school.com.cn/jsref/jsref_splice.asp splice:拼接,结合. splice()方法向数组添加/删除元素,返回 ...

随机推荐

  1. webpack4.0高级

    环境变量 webpack --env.NODE_ENV=local --env.production --progress Tree Shaking 移除JS上下文字未被引用的代码 只支持ES6的im ...

  2. is与==的区别

    is:比较两边的内存地址是否一样 ==:比较两边的数据值是否一样 list1 = [1, 2] list2 = [1, 2] if list1 == list2: # == 是比较数据 print(' ...

  3. 全球首个开放应用模型 OAM 开源

    业界要闻 全球首个开放应用模型 OAM 开源 2019 年 10 月 17 日,阿里巴巴合伙人.阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应 ...

  4. bzoj1008题解

    [题意分析] 求长度为n,元素大小在[1,m]∩N的序列中,有多少个序列中存在相同的相邻元素. [解题思路] 小学奥数题.. 总序列数:S=mn 不存在相同的相邻元素的序列数:T=m*(m-1)n-1 ...

  5. 主席树/线段树模拟归并排序+二分答案(好题)——hdu多校第4场08

    用主席树写起来跑的快一点,而且也很傻比,二分答案,即二分那个半径就行 主席树求的是区间<=k的个数 #include<bits/stdc++.h> using namespace s ...

  6. BZOJ 3083: 遥远的国度 (树剖+线段树)

    传送门 解题思路 前两个操作都比较基础.对于第三个操作分类讨论一下,首先如果当前根不是要操作点的子树,那么就无影响,直接查询操作点的子树即可.第二种是当前根是操作点的子树,那就找到当前根到操作点这条链 ...

  7. NX二次开发-遍历当前part所有component,把装配子部件设置成工作部件

    NX11+VS2013 #include <uf.h> #include <uf_disp.h> #include <uf_modl.h> #include < ...

  8. Python对象继承set类型

    Python对象继承set类型 class Feature(set): def __init__(self): set.__init__(self) # 这里演示将Feature类的加号重载成set. ...

  9. 转-vector与list的区别

    转自:C++ vector和list的区别 数据结构的区别 vector vector与数组类似,拥有一段连续的内存空间,并且起始地址不变.便于随机访问,时间复杂度为O(1),但因为内存空间是连续的, ...

  10. Linux下rsync的安装及简单使用

    2018-09-25 15:39:04 一.RSYNC安装环境: centos6.5 iptables关闭和selinux为disabled 源码安装:到rsync官网下载rsync源码安装包,上传到 ...