• javascript数组对象实例方法


    javascript数组对象实例方法有pop(),push(),reverse(),shift(),sort(),splice(),unshift(),concat(),join(),slice()

    pop() : 移除数组中最后一个元素,并返回该元素。 如下:

    var a=[1,2,3] ;
    console.log(a.pop());   // 输出 3 
    console.log(a);   //输出 [1,2]

    push() : 向数组尾部添加元素,并返回该数组的大小。如下:

    var a =[1,2,3];
    console.log(a.push(7));   //输出 4
    console.log(a);  //输出 [1,2,3,7] 

    reverse(): 倒置数组中的元素,并返回已倒置的数组。如下:

    var a=[1,2,3,4];
    var b = a.reverse();
    console.log(b); //  [4,3,2,1]

    shift() : 移除数组中第一个元素,并返回该元素。 如下:

    console.log([1,2,3,4].shift());   //  1
    console.log([4,5,6].shift());   // 4

     sort() : 对数组元素进行排序。说明:方法参数可选。

    (1)如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。如下:

    console.log([1,2,3,4].sort());   // [1,2,3,4]
    console.log([3,2,4,1].sort());   // [1,2,3,4]
    console.log(['a','b','c','d'].sort());  // ['a','b','c','d']
    console.log(['c','a','d','b'].sort());  // ['a','b','c','d']

    (2)如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

    • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
    • 若 a 等于 b,则返回 0。
    • 若 a 大于 b,则返回一个大于 0 的值。
    var sortProFn = function(a,b){
        return a-b
    };
    var nuar = [19,4,13,10,5,7,5,20] ;
    nuar.sort(sortProFn);
    console.log(nuar);  // [ 4, 5, 5, 7, 10, 13, 19, 20 ]

    splice() : 从一个数组中移除一个或多个元素,如果必要,在移除元素的位置上插入新元素,返回所移除的元素。其中参数说明:splice(arg1,arg2,arg3.....,argn);  前面两个参数arg1,arg2是必需的,参数arg3....argn: 可选,向数组添加的新项目。 参数arg1 : 整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。参数arg2: 要删除的项目数量。如果设置为 0,则不会删除项目

    //只有前面两个参数情况下splice(arg1 , arg2),表示从数组第(arg1+1)个元素开始删除,总共删除元素个数为arg2。返回被删除的元素。
    var a = [1,2,3,4];
    console.log(a.splice(1,2));   //  [2,3]
    console.log(a);   // [1,4]
    
    console.log([1,2,3,4].splice(2,3)); // [2,3,4]
    console.log([1,2,3,4].splice(2,20)); // [2,3,4]
    
    //参数arg3...argn,向移除元素的位置上插入新元素。
    var a  = [5,6,7,8,9];
    console.log(a.splice(1,2,3,4)); // [6,7]
    console.log(a);   // [5,3,4,8,9]
    
    var b = [5,6,7,8,9]
    console.log(b.splice(1,2,3,4,11,13,14)); // [6,7]
    console.log(b); // [ 5, 3, 4, 11, 13, 14, 8, 9 ]

    unshift() : 添加新元素到数组开始位置,并返回该数组大小,如下:

    var a=[1,2,3,4];
    console.log(a.unshift());   //输出4      (没有参数,不添加元素)
    console.log(a);   //输出 [1,2,3,4]
    console.log(a.unshift(8));  //输出5     (有参数,向数组开始位置插入元素8。)
    console.log(a);   //输出 [8,1,2,3,4]

    concat():多个数组组合,返回组合后新数组。参数为去组合的多个数组。如下:

    var a = [1,2];
    var b = [2,3,4];
    var c = a.concat(b);
    console.log(c);   // [1,2,2,3,4]
    
    var d = c.concat([7,6],[8,9],[11,12,13]);
    console.log(d); //[1,2,2,3,4,7,6,8,9,11,12,13]
    
    var e = [].concat([0],[1],[2],[3],[4],[5],[6],[7],[8],[9]);
    console.log(e); //[0,1,2,3,4,5,6,7,8,9]

    join() : 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。返回该字符串,如下:

    console.log(['a','b','c'].join("|"));    // 'a|b|c'

     

    slice() : 返回数组其中一段元素组成的新数组。选择哪段元素由参数控制。说明:此方法不会修改该数组,返回新的数组。如下:

     // 只有一个参数情况下(start)。如果为正数,选取数组的第(start+1)个元素及其后面所有元素。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
    console.log([1,2,3,4,5].slice(1)); //[2,3,4,5]
    console.log([7,8,9].slice(-1));  // [9]
    console.log([7,8,9].slice(-1)); // [8]
    
    //参数(start,end) 选取方式是从数组的第(start+1)个元素到数组的第end个元素。
    console.log([1,2,3,4,5].slice(1,3));  // [2,3]
  • 相关阅读:
    老大叔开博感想
    模板
    Codeforces Round #685 (Div. 2) 题解
    CF830E Perpetual Motion Machine 题解
    THUWC2020游记
    数论
    后缀数组学习笔记
    Codeforces Round #466 (Div. 2)
    博客停写,搬家到www.54kaikai.com
    lda 主题模型--TOPIC MODEL--Gibbslda++结果分析
  • 原文地址:https://www.cnblogs.com/cjt-java/p/4516083.html
Copyright © 2020-2023  润新知