• JS 数组的操作


    JS 将字符串转换为数组

    以逗号为分隔符:str.split(',')

    1. const str = '1,2,3,4,5';
    2. console.log(str.split(',')); // ["1", "2", "3", "4", "5"]

    JS 将数组转换为字符串

    方法:arr.toString()

    1. const arr = ["1", "2", "3", "4", "5"];
    2. console.log(arr.toString()); // 1,2,3,4,5

    JS 将数字数组转化为字符串数组

    方法:arr.map(String)

    1. const arr = [1, 2, 3, 4, 5, 6];
    2. console.log(arr.map(String)); // ["1", "2", "3", "4", "5", "6"]

    JS 将字符串数组转化为数字数组

    方法:arr.map(Number)

    1. const arr = ['1', '2', '3', '4', '5', '6'];
    2. console.log(arr.map(Number)); // [1, 2, 3, 4, 5, 6]

    JS 将数字变成数组

    方法:num.toString().split('')

    1. const num = 123456;
    2. console.log(num.toString().split('')); // ["1", "2", "3", "4", "5", "6"]

    JS 删除数组中的第一个元素

    方法:arr.shift()

    返回值:被删除的元素(即数组原来的第一个元素)。
    如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。
    该方法不创建新数组,而是直接修改原有的数组。所以该方法会改变数组的长度。

    1. const arr = [1, 2, 3, 4, 5, 6];
    2. arr.shift();
    3. console.log(arr); // [2, 3, 4, 5, 6]

    JS 删除数组中的最后一个元素

    方法:arr.pop()

    返回值:被删除的元素(即数组原来的最后一个元素)。
    如果数组是空的,那么 pop() 方法将不进行任何操作,返回 undefined 值。
    该方法不创建新数组,而是直接修改原有的数组。所以该方法会改变数组的长度。

    1. const arr = [1, 2, 3, 4, 5, 6];
    2. arr.pop();
    3. console.log(arr); // [1, 2, 3, 4, 5]

    JS 在数组后面插入元素

    方法一:arr.push(value1, value2)

    1. const arr = [1, 2, 3, 4];
    2. arr.push(6, 7);
    3. console.log(arr); // [1, 2, 3, 4, 6, 7]

    方法二:使用扩展运算符(…)

    1. const arr = [1, 2, 3, 4, 5];
    2. const newArr = [...arr, 6, 7];
    3. console.log(newArr); // [1, 2, 3, 4, 5, 6, 7]

    JS 在数组前面插入元素

    方法一:arr.unshift(value1, value2)

    1. const arr = [1, 2, 3, 4];
    2. arr.unshift(6, 7);
    3. console.log(arr); // [6, 7, 1, 2, 3, 4]

    方法二:使用扩展运算符(…)

    1. const arr = [1, 2, 3, 4, 5];
    2. const newArr = [6, 7, ...arr];
    3. console.log(newArr); // [6, 7, 1, 2, 3, 4, 5]

    方法三:newArr.concat(arr)

    1. const arr = [1, 2, 3, 4, 5];
    2. const newArr = [6, 7];
    3. console.log(newArr.concat(arr)); // [6, 7, 1, 2, 3, 4, 5]

    JS 在数组指定位置插入元素

    在数组的第二位中插入元素:arr.splice(2, 0, value1, value2)

    array.splice(index, 0, insertValue),返回值为空数组,array 值为最终结果值

    index:第一个参数(插入位置)

    0:第二个参数(固定为0[需要删除的个数])

    insertValue:第三个参数(插入的项[可多个,用逗号隔开])

    1. const arr = [1, 2, 3, 4];
    2. arr.splice(2, 0, 6, 7);
    3. console.log(arr); // [1, 2, 6, 7, 3, 4]

    push、push.apply 和 concat 的区别

    push 将新数组添加到原数组的末尾,会改变原数组

    1. const tempArr = [1, 2, 3, 4];
    2. tempArr.push(5);
    3. console.log(tempArr); // [1, 2, 3, 4, 5]

    把追加的数组作为元素的某一项添加到原数组的末尾

    1. const tempArr = [1, 2, 3, 4];
    2. tempArr.push([6, 7]);
    3. console.log(tempArr); // [1, 2, 3, 4, [6, 7]]

    push.apply 将后一个数组的值依次 push 进前一个数组里,使前一个数组发生改变,并且只能两个数组之间发生合并,会改变原数组

    1. const arr1 = [1, 2, 3, 4];
    2. const arr2 = [4, 5, 6, 7];
    3. arr1.push.apply(arr1, arr2);
    4. console.log(arr1); // [1, 2, 3, 4, 4, 5, 6, 7]

    concat 合并数组之后,返回值才是新数组,并且可以合并两个及其以上的数组,不改变原数组

    1. const tempArr = [1, 2, 3, 4];
    2. const newArr = tempArr.concat([7, 8]);
    3. console.log(newArr); // [1, 2, 3, 4, 7, 8]

    总结:push 和 push.apply 会改变原数组;concat 不改变原数组,返回值才是新数组

  • 相关阅读:
    laravel-10图片上传插件
    全国各省市建设工程类专业职称评审要求总结(欢迎补充完善、沟通交流)
    FS4059C ESOP8 5V升压充电12.6V三串锂电池充电IC
    LNMP平台搭建
    (206)Verilog HDL:脉冲边沿检测2
    Kubernetes 架构介绍
    手动安装Ruby 1.9.3并升级RubyGems
    SVG图形
    Java面试题大全(2021版)
    支付漏洞的原理与防御
  • 原文地址:https://blog.csdn.net/AdminGuan/article/details/127991294