数组常用的方法【第二弹】

211 阅读2分钟

这是我参与8月更文挑战的第19天,活动详情查看:8月更文挑战

前言

“八月的色彩是用金子铸就的,明亮而珍贵;八月的色彩是用阳光酿造的,芬芳而灿烂。”

未来的日子,愿你把自己调至最佳状态,缓缓努力,慢慢变好 Y(^o^)Y

本文接 数组常用的方法【第一弹】

数组重排序

数组已经存在了两个可以进行重排序的方法:

reverse()

反转数组项的顺序

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

sort()

sort() 方法按升序排列数组项——即最小的值位于最前面,最大的值排在最后面。sort() 方法会调用每个数组项的 toString() 转型方法,然后比较得到的字符串,以确定如何排序。即使数组中的每一项都是数值,sort() 方法比较的也是字符串

var values = [0, 1, 5, 10 ,15];
values.sort();
console.log(values); // [0, 1, 10, 15, 5]

sort() 方法可以接受一个比较函数作为参数,一遍确定哪个值位于哪个值的前面。

// 升序函数
function compare(v1, v2) {
    if(v1 > v2) {
        return 1;  // return -1 降序
    } else if(v1 < v2) {
        return -1;  // return 1 降序
    } else {
        return 0
    }
}

reverse() 和 sort() 方法的返回值是经过排序后的数组

数组操作方法

concat()

concat() 方法可以基于当前数组中的所有项创建一个新数组。

var data = [1, 2, 3];
var data2 = data.concat(4, 5, [6, 7]);
console.log(data);  // [1, 2, 3]
console.log(data2); // [1, 2, 3, 4, 5, 6, 7]

slice()

slice() 它能够基于当前数组中的一个或多个项创建一个新数组。slice() 方法可以接受一个(从当前位置到结束)或两个参数,即要返回项的起始和结束位置(当时不包含结束位置的项,前闭后开)。

var data = [1, 2, 3, 4, 5, 6, 7];
var data2 = data.slice(1);
var data3 = data.slice(1, 3);
console.log(data2);  // [2, 3, 4, 5, 6, 7]
console.log(data3);  // [2, 3]

slice()方法不会影响原始数组。

splice()

splice() 方法的功能比较强大,主要有以下功能:

  1. 删除

    可以删除任意数量的项,只需制定 2 个参数:要删除的第一项的位置和要删除的项数。

    例如:splice(0, 2)会删除数组中的前两项

  2. 插入 可以向指定位置插入任意数量的项,只需提供 3 个参数:起始位置、0(要删除的项数)和要插入的项。

  3. 替换 可以向指定位置插入任意数量的项,且同时删除任意数量项,只需指定 3 个参数:起始位置、要删除的项数和要插入的任意数量的项。

结语

如果这篇文章帮到了你,欢迎点赞👍和关注⭐️。

文章如有错误之处,希望在评论区指正🙏🙏。