美文网首页
数组的方法

数组的方法

作者: 前白 | 来源:发表于2020-07-06 10:10 被阅读0次

    上一节我们讲了数组的语法和使用,以及数组的遍历等,本节我们主要学习一下数组的常用方法。

    数组常用方法

    • sort():对数组的元素进行排序。
    • reserse():反转数组的元素排序。
    • join():将所有数组元素连接到一个字符串中。
    • push():将一个新元素添加到数组中(最后位置)。
    • pop():从数组中删除最后一个元素。
    • shift(),删除第一个数组元素,并将所有其他元素移位到较低的索引。
    • unshift():将新元素添加到数组中(在开始处),并取消旧元素。
    • splice():用于向数组中添加新项目(拼接数组),返回一个包含已删除项目的数组。
    • slice():将一个数组切成一个新数组,但是并不会从原数组中删除任何元素。
    • concat():合并数组,通过合并连接现有数组来创建新的数组(不会改变原有数组,只是返回一个新数组),可以采用任意数量的数组参数。
    • toString():自动将数组转换为逗号分隔的字符串,并返回结果 。

    pop()方法

    pop() 从数组中删除最后一个元素,并返回这个元素的值。

    语法:

    arrayObject.pop()  
    
    示例:

    删除数组中最后一个元素:

    var names = ["令狐冲", "任盈盈", "岳不群", "林平之", "任我行", "东方不败"];
    console.log("原数组:", names);
    
    // 删除数组元素
    names.pop();
    console.log("删除元素后的数组:", names);
    

    输出:

    原数组:["令狐冲", "任盈盈", "岳不群", "林平之", "任我行", "东方不败"]
    删除元素后的数组:["令狐冲", "任盈盈", "岳不群", "林平之", "任我行"]
    

    push()方法

    push() 方法,用于将一个新元素添加到数组中的最后,并返回新的数组长度。

    语法:

    arrayObject.push(newelement1,newelement2,...,newelementX)
    

    newelement1 是必需的,要添加到数组的第一个元素,newelement2newelementX 都是可选参数,前者要添加到数组的第二个元素,后者是可以添加多个元素。

    示例:

    向数组中添加一个元素,新增的元素会插入到数组最后一个位置:

    var names = ["令狐冲", "任盈盈", "岳不群", "林平之", "任我行", "东方不败"];
    console.log("原数组:", names);
    
    // 向数组中添加一个元素
    names.push("IvenEric");
    console.log("新增元素后的数组:", names);
    

    输出:

    原数组:["令狐冲", "任盈盈", "岳不群", "林平之", "任我行", "东方不败"]
    新增元素后的数组:["令狐冲", "任盈盈", "岳不群", "林平之", "任我行", "东方不败", "IvenEric"]
    

    sort()方法

    sort() 方法是最强大的数组方法之一,它是以字母顺序对数组进行排序的。

    语法:

    array.sort(sortfunction)
    
    示例:

    使用升序进行数组排序:

    var names = ["杨过", "小龙女", "郭靖", "黄蓉", "郭襄", "程英", "陆无双", "公孙绿萼", "公孙止", "金轮法王"];
    console.log("原数组:",  names);
    names.sort();
    console.log("排序后的数组:",  names);
    

    输出:

    原数组: ["杨过", "小龙女", "郭靖", "黄蓉", "郭襄", "程英", "陆无双", "公孙绿萼", "公孙止", "金轮法王"]
    排序后的数组:["公孙止", "公孙绿萼", "小龙女", "杨过", "程英", "郭襄", "郭靖", "金轮法王", "陆无双", "黄蓉"]
    

    注意哟,默认sort()函数按照字符串顺序对值进行排序。如果是对数字排序的话会产生不正确的结果,例如31大于100,因为3比1大。

    我们可以通过一个比值函数来解决这个问题:

    var numbers = [11, 85, 3, 90, 20, -3, 24, 17, 16, 23];
    numbers.sort(function(a, b){return a - b});
    console.log(numbers);
    // 输出: [-3, 3, 11, 16, 17, 20, 23, 24, 85, 90]
    

    这样就可以实现对数字的升序排序,如果要实现降序排序,可以使用b - a

    reverse()方法

    reverse() 方法用于反转数组中的元素,也就是逆向排序。

    语法:

    array.reverse()
    
    示例:

    使用降序对下面的数组进行排序:

    var names = ["杨过", "小龙女", "郭靖", "黄蓉", "郭襄"];
    console.log("原数组:", names);
    names.sort();
    console.log("升序排序后的数组:", names);
    names.reverse();
    console.log("降序排序后的数组:", names);
    

    输出:

    原数组: ["杨过", "小龙女", "郭靖", "黄蓉", "郭襄"]
    升序排序后的数组: ["小龙女", "杨过", "郭襄", "郭靖", "黄蓉"]
    降序排序后的数组: ["黄蓉", "郭靖", "郭襄", "杨过", "小龙女"]
    

    shift()方法

    shift() ,删除第一个数组元素并返回这个元素的值,将所有其他元素移位到较低的索引。

    语法:

    arrayObject.shift()
    
    示例:
    var names = ["令狐冲","任盈盈","岳不群","林平之","左冷禅","岳灵珊","任我行","东方不败"];
    console.log("原数组:", names);
    console.log(names.shift()); // 删除数组元素并返回被删除的元素值
    console.log("删除一个元素后的元素:", names)
    

    输出:

    原数组:["令狐冲", "任盈盈", "岳不群", "林平之", "左冷禅", "岳灵珊", "任我行", "东方不败"]
    令狐冲
    删除一个元素后的元素: ["任盈盈", "岳不群", "林平之", "左冷禅", "岳灵珊", "任我行", "东方不败"]
    

    unshfit()方法

    unshfit() 方法,用于在开始时向数组添加一个新元素,并取消移位较旧的元素。

    语法:

    arrayObject.unshift(newelement1,newelement2,...,newelementX)
    
    示例:
    var arr1 = new Array();
    arr1[0] = "Jackson";
    arr1[1] = "Ivenoy";
    arr1[2] = "Ericor";
    arr1[3] = "Arthor";
    console.log("原数组:", arr1);
    console.log("新增元素后的数组长度:", arr1.unshift("William"));
    console.log("新增元素后的新数组为:", arr1);
    

    输出:

    原数组: (4) ["Jackson", "Ivenoy", "Ericor", "Arthor"]
    新增元素后的数组长度: 5
    新增元素后的新数组为: (5) ["William", "Jackson", "Ivenoy", "Ericor", "Arthor"]
    

    splice()方法

    splice()方法常用于将新项目添加到数组中,返回一个已删除项目的数组。

    语法:

    array.splice(index,howmany,item1,...itemX)
    

    index 必需参数,规定从何处添加或者是删除元素,它是开始时的元素下标且必须是数字,howmany 和 item1、itemX 是可选参数,前者规定应该删除多少元素同样也必须是数字(可以是0),后者是要添加到数组的新元素。

    示例:
    var names = ["王语嫣", "李逍遥", "张无忌", "周芷若"];
    console.log("原数组:", names);
    names.splice(1, 0, "东方不败", "金毛狮王");
    console.log("添加元素后的数组:", names);
    

    输出:

    原数组: ["王语嫣", "李逍遥", "张无忌", "周芷若"]
    添加元素后的数组: ["王语嫣", "东方不败", "金毛狮王", "李逍遥", "张无忌", "周芷若"]
    

    slice()方法

    slice()方法可以将一个数组切成一个新数组,可以从已有数组中返回选定的元素,但是并不会从原数组中删除任何元素。

    语法:

    array.slice(start,end)
    

    start 必需参数,规定从什么地方开始选取,如果是负数,那么则规定从数组尾部开始算起的位置;end 可选参数,规定从何处结束选取,它是数组片段结束处的数组下标。

    示例:
    var names = ["王语嫣", "李逍遥", "张无忌", "周芷若", "东方不败"];
    console.log("原数组:", names);
    var sliNames = names.slice(0,2);  // (0,2)表表示元素起始位置(包含元素)和结束位置(不包含元素)
    console.log("切割后的数组", sliNames);
    

    输出:

    原数组: ["王语嫣", "李逍遥", "张无忌", "周芷若", "东方不败"]
    切割后的数组 ["王语嫣", "李逍遥"]
    

    concat()方法

    concat()方法用于合并数组,通过合并连接现有数组来创建新的数组(不会改变原有数组,只是返回一个新数组),可以采用任意数量的数组参数。

    语法:

    string.concat(string1, string2, ..., stringX)
    
    示例:
    var arr1 = ["xkd", "summer"];
    var arr2 = ["Jack", "Mark"];
    console.log("数组1:", arr1);
    console.log("数组2:", arr2);
    // 合并数组
    var twoArr = arr1.concat(arr2);
    console.log("合并后的数组为:", twoArr);
    

    输出:

    数组1: ["xkd", "summer"]
    数组2:["Jack", "Mark"]
    合并后的数组为: ["xkd", "summer", "Jack", "Mark"]
    

    合并多个数组,需要使用逗号将数组进行分隔:

    var arr1 = ["xkd", "summer"];
    var arr2 = ["Jack", "Mark"];
    var arr3 = ["小飞侠", "大侠"]
    
    var mergeArr = arr1.concat(arr2, arr3);
    console.log("合并后的数组为:", mergeArr);
    // 合并后的数组为:["xkd", "summer", "Jack", "Mark", "小飞侠", "大侠"]
    

    链接:https://www.9xkd.com/

    相关文章

      网友评论

          本文标题:数组的方法

          本文链接:https://www.haomeiwen.com/subject/jhqwqktx.html