zoukankan      html  css  js  c++  java
  • js中Array对象常用方法

    1.slice用法

    slice() 方法可从已有的数组中返回选定的元素

    arrayObject.slice(start,end)
    参数描述
    start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
    end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

    实例:

    1 var str = "abcdefgh";
    2 document.write("1.str.slice(1):" + str.slice(1) + "<br />"); //bcdefgh从下标为1的开始到最后
    3 document.writeln("2.原字符串:" + str + "<br />"); //bcdefgh并不会改变
    4 document.writeln("3.str.slice(1,3):" + str.slice(1, 3) + "<br />"); //bc从下标为1的开始到字符串第3个字符
    5 document.writeln("4.str.slice(-3,-1):" + str.slice( - 3, -1) + "<br />");
    6 var arr = [1, 2, 3, 4, 5];
    7 document.writeln("5.arr.slice(1,2):" + arr.slice(1, 2) + "<br />");
    8 document.writeln("6.arr.slice(-3,-1):" + arr.slice( - 3, -1) + "<br />"); //3,4从倒数第三个,到倒数第二个,第二个参数为开区间[a,b)

    提示和注释

    注释:您可使用负值从数组的尾部选取元素。

    注释:如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。

    2.splice,夹杂着pop,push,shift,unshift方法

    splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

    注释:该方法会改变原始数组。

    语法

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

    实例

     1 var str2 = [1, 2, 3, 4, 5];
     2 document.writeln("7.str2.splice(1):" + str2.splice(1) + "<br />"); //从下标为1的开始到最后
     3 document.writeln("8.原数组:" + str2 + "<br />"); //1,原数组已经变了
     4 str2.push(8, 9, 10); //添加3个元素
     5 document.write("9.pop方法:" + str2.pop() + "<br />"); //10返回最后一个元素(出栈)
     6 document.write("10.原数组:" + str2 + "<br />"); //1,8,9
     7 document.write("11.shift():" + str2.shift() + "<br />"); //返回第一个元素(出栈),原数组第一个
     8 document.write("12.原数组:" + str2 + "<br />"); //8,9
     9 str2.unshift('a', 'b', 'c');
    10 document.write("13.unshift三个元素后数组:" + str2 + "<br />"); //a,b,c,8,9 在第一个元素前添加元素abc
    11 document.writeln("14.新增元素:" + str2 + "<br />"); //a,b,c,8,9
    12 document.writeln("15.str2.splice(1,3):" + str2.splice(1, 3) + "<br />"); //从下标为1的开始往后三个字符b ,c ,8
    13 str2.push(18, 19, 11); //添加3个元素 a,9,18,19,11
    14 document.writeln("16.str2.splice(1,1,'x','y','z'):" + str2.splice(1, 1, 'x', 'y', 'z') + "<br />"); //返回被替换元素,从下标为1的替换为x,y,z
    15 document.write("17.原数组:" + str2 + "<br />"); //a,x,y,z,18,19,11
    16 document.writeln("18.str2.splice(1,0,2):" + str2.splice(1, 0, 2) + "<br />"); //无返回值,将index1替换为2
    17 document.write("19.原数组:" + str2 + "<br />");

      

    注释:请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改

    执行结果:

    1.str.slice(1):bcdefgh
    2.原字符串:abcdefgh
    3.str.slice(1,3):bc
    4.str.slice(-3,-1):fg
    5.arr.slice(1,2):2
    6.arr.slice(-3,-1):3,4
    7.str2.splice(1):2,3,4,5
    8.原数组:1
    9.pop方法:10
    10.原数组:1,8,9
    11.shift():1
    12.原数组:8,9
    13.unshift三个元素后数组:a,b,c,8,9
    14.新增元素:a,b,c,8,9
    15.str2.splice(1,3):b,c,8
    16.str2.splice(1,1,'x','y','z'):9
    17.原数组:a,x,y,z,18,19,11
    18.str2.splice(1,0,2)str2.splice(1,0,2):
    19.原数组:a,2,x,y,z,18,19,11

     3.sort 和reverse

     1 var arr1 = [1, 2, 3, 4, 5];
     2 document.write(arr1.sort() + "<br/>");//0,1,16,5
     3 
     4 var arr2 = [0, 1, 5, 16];
     5 document.write(arr2.sort() + "<br/>");//此时排序不正确//16,5,1,0
     6 document.write(arr2.sort(function(a, b) {//自定义排序函数
     7     if (a > b) return 1;
     8     else if (a < b) return - 1;
     9     else return 0;
    10 }) + "<br/>");
    11 
    12 var arr3 = [0, 1, 5, 16];
    13 document.write(arr3.reverse() + "<br/>");
    14 document.write(arr3.reverse(function(a, b) {
    15     if (a > b) return - 1;
    16     else if (a < b) return 1;
    17     else return 0;
    18 }) + "<br/>");
  • 相关阅读:
    管理者的存在 说明了企业文化的匮乏【20140124】
    Sublime Text2(ST2)点滴积累及使用技巧_持续更新【20130320】【最近修改20130516】
    WebStorm 点滴积累及使用技巧_持续更新【20130323】【最近修改20130604】
    码农,企业,和资本
    关于赛车游戏的一点体会
    从艺感悟
    三种糟糕的程序员
    关于ios单机盗版
    汽车加速性,功率和扭矩
    ExtJS之面向对象的概念
  • 原文地址:https://www.cnblogs.com/lucky2u/p/5501521.html
Copyright © 2011-2022 走看看