• 总结:数组常用方法


    遍历数组每一项
    在for循环体中 a[index] -》指数组中的每一项 index-》指数组中的索引
    let a = [1, 2, 3, 4, 5, 6]
    for (var index = 0; index < a.length; index++) {
    console.log();
    }

    数组的方法

    --------------------------改变原有数组-------------------

    增加:push
    返回值:改变后数组的长度
    给数组的末尾增加一项,如若想增加多项,用逗号隔开想添加几项便可以增加几项
    let arr_ays=[1,2,3]
    arr_ays.push('12','12','我才是最后一项')
    console.log(arr_ays);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    增加:unshirft
    ->[改变原有数组的索引]->
    返回值:改变后数组的长度
    添加到数组的第一项(也就是索引为0的地方),如若想增加多项,用逗号隔开想添加几项便可以增加几项
    let arr_ays=[1,2,3];
    arr_ays.unshift(‘你十四诶’);
    console.log(arr_ays); 输出:[‘你十四诶’, 1, 2, 3]

    利用数组的length数组给数组的最后一项进行添加
    var a=[1,2,3];
    a[a.length]=4;
    console.log(a); 输出[1,2,3,4]
    如果是使用变量接收,例如 var b=a[a.length]=4; console.log(b);则输出的是4

    删除:pop->删除数组的最后一项
    返回值:被删除的那一项
    let arr_ays = [1, 2, 3];
    arr_ays.pop();
    console.log(arr_ays);

    shift:删除数组第一项
    参数:无
    返回值:被删除的那一项内容
    原有数值改变了
    删除第一项,后面的每一项索引改变
    let arr_ays = [4, 1, 2, 3];
    console.log(arr_ays.shift()); 输出:4

    delete
    删除键值对的方式也可以删除数组中的对应项
    不会改变数组中原有项的索引
    let arr_ays = [1, 2, 3];
    delete arr_ays[0];
    console.log(arr_ays); 输出:[空,2,3]
    ary.length–;删除数组最后一项;输出取决于–在前还是在后,也就是–的位置
    let arr_ays = [1, 2, 3];
    console.log(arr_ays.length–);输出3
    arr_ays.length–;
    console.log(arr_ays); 输出:[1,2]

    splice
    增删改都可以
    原来数组改变
    1、 删除
    splice( n, m): 从索引n开始删除m个
    返回值:返回值是数组,被删除的内容( 以一个新数组保存)
    pl:ary.splice(0,3); 输出:[4,5,6,7,8,9]
    ● splice( 0) 清空数组 pl:ary.splice(0); 输出:[]
    ● splice() 一项都不删除
    ● splice( ary.length - 1) 删除最后一项
    2、 修改
    splice( n, m, x): 在原有删除的基础上, 用x代替删除的内容。意思就是从索引n开始,删除m项[也就是删除m个],使用x替代[也就是增加x项]
    let ary = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    ary.splice(0,2,‘嗯 你好’,‘知道了’);
    console.log(ary); 输出:(9) [‘嗯 你好’, ‘知道了’, 3, 4, 5, 6, 7, 8, 9]
    3、 增加
    解释:当第二个参数为0,就是不删除,并且有第三项,就是增加
    splice( n, 0, x): 在修改的基础上, 我们一项都不删除, 把x插入到索引n的前面
    pl :
    let ary = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    ary.splice(2, 0, ‘我爱你’, ‘真的吗’)
    console.log(ary); 输出:(11) [1, 2, ‘我爱你’, ‘真的吗’, 3, 4, 5, 6, 7, 8, 9]
    ● ary.splice(0, 0, x) 在开头追加
    ● ary.splice(ary.length, 0, x) 在末尾追加

    ----------------------不改变原有数组方法-----------------

    slice
    参数: slice( n, m) 从索引n开始复制索引m处( 不包括m)
    注:支持负数,总长度+负数索引进行计算,例如:[1,2,3,4,6,7,8,9] ary.slice(-5,-2)
    let ary=[1,2,3,4,6,7,8,9];
    console.log(ary.slice(-5,-2)); 输出:[4,6,7]
    返回值: 把找到的部分以一个新数组返回
    原来数组不变
    如果第二个参数比length长,他只会克隆到末尾,不会报错
    ● slice( n) 从索引n开始复制末尾
    ● slice() 或slice( 0) 数组克隆, 和原来一样
    var info = [1, 2, 3, 4, 5, 6, ];
    var res = info.slice(2, 3);
    console.log(res);
    concat 数组拼接,可以穿多个参数拼接在一起,如果什么都不传,那就是数组的克隆,如果参数是数组,那么就会拔掉数组的一层[]。
    let info=[‘1,2,3,4,5’];
    let text=[‘6’,‘7’,9,8,6,5];
    console.log(info.concat(text)); 输出:(7) [‘1,2,3,4,5’, ‘6’, ‘7’, 9, 8, 6, 5]
    indexof/lastIndexOf->验证每某一项是否在该数组里,返回值如果是-1,则说明不在,如果存在则返回该数组的索引。
    let a=[1,2,3,4,5,6,‘你好’];
    let c=a.indexOf(‘你好’);
    console.log©;输出:6
    let c=a.indexOf(‘你好’);
    console.log©;输出:-1
    let a=[1,2,3,4,5,6,‘你好’];
    console.log(a.indexOf(1));

    indexof/lastIndexOf-的查询方向
    indexof 从前向后查询
    lastIndexOf 从后向前进行寻找
    let a=[1,‘嗯’,2,3,4,5,6,‘3嗯’];
    let indexInfo=a.indexOf(‘嗯’);
    let lastIndexOfInfo=a.lastIndexOf(‘嗯’);
    console.log(indexInfo,lastIndexOfInfo);

    includes 检验数组中是否包含这一项
    返回值:boolean类型,有返回true;没有返回false
    该方法的第二个参数表示搜索的起始位置,默认为0。如果第二个参数为负数,则表示倒数的位置,如果这时它大于数组长度(比如第二个参数为-4,但数组长度为3),则会重置为从0开始。
    let info=[1,2,3,4,5,6,7,2,8,9];
    console.log(info.includes(2,-10));输出:true

    ----------------------数组排序-----------------------

    Resvers
    把数组的每一项倒过来排序
    改变原有数组
    let info=[1,2,3,4,5,6,7,2,8,9];
    let n=info.reverse();
    console.log(n);输出:(10) [9, 8, 2, 7, 6, 5, 4, 3, 2, 1]

    sort:实现数组排序,在没有传参的情况下,只根据第一位来进行排序。[数字按照从小到大进行排序][字母按照字母表][汉字按照笔画进行排序]
    参数: 无或者回调函数
    返回值: 排序后的数组( 与原数组是一个地址)
    原来数组改变● 在无参数的情况下: 只根据第一位排序
    let info = [1, 2, 3, 4, 5, 6, 7, 2, 8, 9];
    info.sort(function (a, b) {
    return b - a;
    })
    // console.log(info); 输出:[9, 8, 7, 6, 5, 4, 3, 2, 2, 1]
    let info = [1, 2, 3, 4, 5, 6, 7, 2, -8, 9, 10, 3, -5, 2, 12];
    let inTag = info.sort((a, b) => {
    console.log(a,b)
    return a - b;
    })
    console.log(inTag);

    > toString ---------将数组改为字符串
    参数: 无
    返回值: 以逗号隔开的方式转为字符串
    >  join
    参数: ''(
    空字符串)
    返回值: 没有逗号的字符串
    参数: 无
    返回值: 有逗号的字符串
    参数: '+'
    返回值: 以 + 分隔的字符串
    想以什么作为分隔符, 就把分隔符传入空字符串中
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    The Log-Structured Merge-Tree (LSM-Tree) 论文阅读笔记
    【FreeRTOS(十二)】事件标志组
    Nginx全家桶配置详解
    Python下载与安装进阶
    统信UOS升级Python3及安装spyder5
    罗翔:钱没了可以再挣,工作没了可以再找,朋友没了可以再交,爱情没了可以再去找。你生来就一无所有,何惧从头再来。...
    大厂产品为何集体下架
    1447. 最简分数-最大公约数函数应用
    java八股文面试[设计模式]——23种设计模式
    Jenkins 权限管理
  • 原文地址:https://blog.csdn.net/weixin_45729502/article/details/126247519