zoukankan      html  css  js  c++  java
  • js数组的操作

        js中数组的使用非常普遍,以下是一些常用的方法和属性,数组以arr=[1,2,3,4]举例。

    1.length属性

        获取数组的长度,arr.length返回4。

    2.indexOf()和lastIndexOf()方法

        数组是通过indexOf()来搜索一个指定的元素的位置,例如arr.indexOf(1)返回0,如果数组中不存在的元素则返回-1。

    3.slice()方法

        截取数组的部分元素,arr.slice(0,2)截取从索引0开始到索引2结束,arr.slice(2)截取从索引2开始到结束,arr.slice()复制一个数组。

    4.push()和pop()方法

        末尾添加/删除元素,arr.push(5),数组在末尾添加一个元素,arr.pop(),删除数组末尾一个元素。

    5.unshift()和shift()方法

        头部添加/删除元素,arr.unshift(5),数组在头部添加一个元素,arr.shift(),删除数组头部一个元素。

    6.sort()方法

        对当前数组进行排序。

    var a = [33,4,1111,222];
    a.sort()                      // 字母表顺序 [1111,222,33,4]
    a.sort(function(a,b){         // 数值大小相反的顺序
        return a-b;        
    })
    a.sort(function(){a,b}{return b-a})  // 数值大小相反的顺序

    7.reverse()方法

        把整个Array的元素给掉个个。

    8.splice()方法

        array.splice(index,howmany,item1,item2,........,itenX)。

    参数描述
    index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
    howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
    item1, ..., itemX 可选。向数组添加的新项目。

    9.join()方法

        把当前Array的每个元素都用指定的字符串连接起来,然后返回字符串。

    10.concat()方法

        把当前的Array和另一个Array连接起来,并返回一个新的Array。

    添加:

        ECMAScript5 定义了9个新的数组方法来遍历、映射、过滤、检测、简化和搜索数组

    11.forEach()

        forEach()方法从头至尾遍历数组,为每个元素调用指定的函数。使用forEach()回调函数三个参数分别为:数组元素、元素的索引、数组本身

    var data = [1,2,3,4,5];
    var sum = 0;
    data.forEach(function(value){
      sum += value; 
    })
    sum => 15
    data.forEach(function(value,i,a){
      a[i] = v+1
    })
    data => [2,3,4,5,6]

    12.map()

        map()方法将调用的数组每个元素传递给指定函数,并返回一个数组,它包含该函数的返回值

    a = [1,2,3]
    b = a.map(function(x){
       return x*x     
    })
    b => [1,4,9]

    注:map()返回的新数组,它不修改调用的数组

    13.filter()

        fliter()方法返回的数组元素是调用的数组的一个子集,传递的函数是用逻辑判断的:该函数返回true或false。如果返回值为true或者能转化为true的值,那么传递给该判定函数的元素就是这个子集的元素,它将被添加到一个作为返回值的数组中

    a = [5,4,3,2,1]
    smallvalus = a.filter(function(x){return x < 3})  //[2.1]
    everyothers = a.filter(function(x){return x%2 ==0})  //[5,3,1]

    14.every()和some()

        

    15.reduce() reduceRight()

        

    16.其实第二个选项indexOf()和lastIndexOf()是ECMAScript 5的方法

        具体细节向上翻。

    17.总结

        数组在实际工作当中使用非常广泛,做此笔记以备查询。

  • 相关阅读:
    5.19 省选模拟赛 T1 小B的棋盘 双指针 性质
    5.15 省选模拟赛 容斥 生成函数 dp
    5.15 省选模拟赛 T1 点分治 FFT
    5.15 牛客挑战赛40 B 小V的序列 关于随机均摊分析 二进制
    luogu P4929 【模板】舞蹈链 DLX
    CF 878E Numbers on the blackboard 并查集 离线 贪心
    5.10 省选模拟赛 拍卖 博弈 dp
    5.12 省选模拟赛 T2 贪心 dp 搜索 差分
    5.10 省选模拟赛 tree 树形dp 逆元
    luogu P6088 [JSOI2015]字符串树 可持久化trie 线段树合并 树链剖分 trie树
  • 原文地址:https://www.cnblogs.com/caichunbao/p/6550129.html
Copyright © 2011-2022 走看看