JavaScript中数组的常用方法

发布时间:2024年01月04日
/*
1、数组.push(数据)。
    将数据追加到数组的末尾。
    返回值是追加数据后数组最新的长度。
    原数组改变。
2、数组.pop()。
    删除数组最后一个数据。
    返回值是被删除的数据。
    原数组改变。
3、数组.unshift(数据)。
    将数据添加到数组的最前面。
    返回值是追加数据后数组最新的长度。
    原数组改变。
4、数组.shift()。
    删除数组最前一个数据。
    返回值是被删除的数据。
    原数组改变。
5、数组.reverse()。
    将数组反转。
    返回值是反转后的数组。
    原数组改变。
6、数组.splice(开始索引[默认为0], 删除多少个[默认为0], 要插入的数据[默认为无])。
    删除数组中的若干数据,并选择是否插入新的数据。
    以新数组的形式返回被删除的数据。
    原数组改变。
    eg:
    var arr = [100, 200, 300, 400];
    // 从索引1开始,删除2个数据,再插入数据500, 600, 700。
    var res = arr.splice(1, 2, 500, 600, 700)
    console.log(arr);
    console.log(res);
    结果为:
    arr: [100, 500, 600, 700, 400]
    res: [200, 300]
7、数组.sort() / 数组.sort(function (a, b) {return a - b;})。
    对数组进行排序。
    返回值是排序好的数组。
    第一个无参方法排序是按照位进行排序,即先按第一位(十位)排序,第一位相同时按照第二位(个位)排序,以此类推。如下所示。
    eg:[11, 1, 22, 13, 45, 32, 2] -排序后-> [1, 11, 13, 2, 22, 32, 45]
    第二个有参方法排序方式由参数决定,上述参数是按照升序排序。若将参数中的"a - b;"换成"b - a;",则为降序排序。
    原数组改变。
8、数组.join(连接符)。
    将数组使用连接符连接成为一个字符串。
    返回值是连接好的字符串。
    原数组不变。
9、数组.concat(其他数组)。
    将其他数组和原数组拼接在一起。即两个数组合并。
    返回值是拼接好的数组。
    原数组不变。
10、数组.slice(开始索引[默认为0], 结束索引[默认为数组长度])。
    截取数组中的某些数据(截取数据包括开始索引,但不包括结束索引)。
    以新数组的形式返回截取出来的数据。
    原数组不变。
11、数组.indexOf(数据)。
    查找数据在数组中的索引位置。
    若有该数据,返回第一次出现的索引位置。若没有该数据,返回-1。
    原数组不变。
12、数组.forEach(function (item, index, arr) {})。
    遍历数组。
    返回值无。
    forEach(...)中的函数会根据数组的长度来执行。数组有多少个数据,该函数便会执行多少回。
    函数形参中,item表示每一项;index表示数组的索引;arr就是原始数组。
    参数名随意取。参数个数不固定,但是顺序是固定的,即第一个参数是每一项,第二个参数是索引,第三个参数是原数组。
    只写两个参数时,依次表示每一项、索引,原数组没有。其他个数参数以此类推。
    原数组不变。
    eg:
    var arr = [100, 200, 300, 400];
    arr.forEach( function (item, index, arr) {
        console.log(item);
        console.log(index);
        console.log(arr);
    });
    结果为:
    100
    0
    [100, 200, 300, 400]
    200
    1
    [100, 200, 300, 400]
    300
    2
    [100, 200, 300, 400]
    400
    3
    [100, 200, 300, 400]
13、数组.map(function (item, index, arr) {})。
    映射数组。
    返回值是映射后的新数组。
    map(...)中的函数参数功能与上述forEach(...)中的函数一致。区别是map(...)中的函数以return的方式书写映射条件。
    原数组不变。
    eg:
    var arr = [100, 200, 300, 400];
    var res = arr.map( function (item, index, arr) {
        // 此处条件是把原始数组中的(每一项 / 每一索引)扩大十倍。然后函数会以数组的形式返回。
        return item*10 / index*10;
    });
    console.log(res);
    结果为:
    [1000, 2000, 3000, 4000] / [0, 10, 20, 30]
14、数组.filter(function (item, index, arr) {})。
    过滤数组。
    返回值是过滤后的新数组。
    filter(...)中的函数参数功能与上述forEach(...)中的函数一致。区别是filter(...)中的函数以return的方式书写过滤条件。
    原数组不变。
    eg:
    var arr = [100, 200, 300, 400];
    var res = arr.filter( function (item, index, arr) {
        // 此处过滤条件是过滤出大于200的项。然后函数会以数组的形式返回。
        return item > 200;
    });
    console.log(res);
    结果为:
    [300, 400]
    上述将filter方法名改为map,结果为:[flase, flase, true, true]
15、数组.every(function (item, index, arr) {})。
    判断数组是不是每一项都满足条件。
    返回值是一个布尔值。
    every(...)中的函数参数功能与上述forEach(...)中的函数一致。区别是every(...)中的函数以return的方式书写条件。
    原数组不变。
    eg:
    var arr = [100, 200, 300, 400];
    var res = arr.every( function (item, index, arr) {
        // 此处条件是判断数组中的每一项是否都大于200。
        return item > 200;
    });
    console.log(res);
    结果为:
    false
16、数组.some(function (item, index, arr) {})。
    判断数组中是不是有某一项满足条件。
    返回值是一个布尔值。
    some(...)中的函数参数功能与上述forEach(...)中的函数一致。区别是some(...)中的函数以return的方式书写条件。
    原数组不变。
    eg:
    var arr = [100, 200, 300, 400];
    var res = arr.some( function (item, index, arr) {
        // 此处条件是判断数组中是否存在大于200的数据。
        return item > 200;
    });
    console.log(res);
    结果为:
    true
*/
文章来源:https://blog.csdn.net/2301_79943136/article/details/135344130
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。