• 数组对象(下)


    7、join() 将数组 转 字符串

    join()用数组的元素 组成 字符串, 返回给我们一个字符串

    1. {
    2. var a = ['老李','小芮','小吕','小李','狗蛋'];
    3. var s = a.join();// 不设置分隔符
    4. console.log(s);
    5. var s1 = a.join(" ");// 设置分隔符
    6. console.log(s1);
    7. var fruits = ['banana','orange','apple'];
    8. // 把数组中的水果名称, 转成 字符串 串联的时候
    9. // 我们在水果 中间 添加 andand 前后要用空格隔开
    10. var f = fruits.join(" and ")
    11. console.log(f);
    12. }

    预览效果

     

    注意:

    join() 这个方法里 可以不设置分隔符, 也可以设置分隔符

    a.join() 不设置分隔符

    a.join(“*”) 也可以设置分隔符

    8、slice() 提取元素

    slice() 从一个数组中选择元素(提取元素、筛选元素)---从已有的数组中返回选定的元素。 slice(start, end) 方法可提取数组中某个部分,并以新的数组返回被提取的部分。 使用 start(包含) 和 end(不包含) 参数来指定数组提取的部分。 start 参数数组中第一个元素位置为 0, 第二个元素位置为 1, 以此类推, 如果是负数表示从尾部截取多少个元素, slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。 end 参数如果为负数,-1 指数组的最后一个元素的位置,-2 指倒数第二个元素,以此类推。

    1. {
    2. // (1). 如果写 1个参数
    3. var a = [100,200,300,400,500,600,700];
    4. console.log(a);
    5. var na = a.slice(2);
    6. console.log(na);
    7. // (2). 如果写 2个参数
    8. // (从第三个开始截取,截取到第五个,但输出不包括第五个的内容·)
    9. var nal = a.slice(3,5);
    10. console.log(nal);
    11. // (3).slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)
    12. var n2 = a.slice(-2);
    13. console.log(n2);
    14. // (4).slice(-4,-2)
    15. // -4---start起始索引,从索引是-4的位置上(数组反方向)开始截取内容
    16. // -2---end 结束索引 ,到哪结束,但是不包括这个索引位置上的内容
    17. var na3 = a.slice(-4,-2);
    18. console.log(na3);
    19. }

    预览效果

     9、splice() 数组中万能的删除和添加

    注意:这个方法操作完数组后,不会返回给你新的数组。我们查看,还是查看原数组(你查原数组的数据结构有没有发生变化!!)

    注意: 主要看第二个参数,第二个参数是0表示添加,第二个参数 是非0,表示删除

    (1). splice()数组中添加新元素

    1. // 第一个参数 2 表示 从哪开始元素操作元素,
    2. // 第二个参数 0 表示 添加元素(添加的元素是什么,紧跟着写出来即可)
    3. var a = ['老李','小芮','小吕','小李'];
    4. console.dir('原数组')
    5. console.log(a);
    6. var r1 = a.splice(2,0,'小芮','小二','老二');
    7. console.dir('添加内容之后的原数组');
    8. console.log(a);
    9. }

    预览效果

     (2). 删除数组中的元素,删除几个

    第一个参数 2 表示 从哪开始删元素,

    第二个参数 3 表示 删除几个元素

    1. var a = ['小明','小红','小绿'];
    2. console.dir('原数组');
    3. console.log(a);
    4. a.splice(2,3);
    5. console.dir('执行删除之后的数组:');
    6. console.log(a);

    预览效果

      (3). 先 删除 项目 ,再执行 添加 新项目 的操作

    1. var f = ['banana', 'orange','apple','mango'];
    2. console.dir('原数组');
    3. console.log(f);
    4. // a.先从索引是2得这个位置上去删除内容
    5. // b.再从索引是2的这个位置上去添加内容
    6. f.splice(2,1,'lemon','kiwi');
    7. console.dir('执行先删除项目,再添加新项目操作之后的数组')
    8. console.log(f);

    预览效果

     

    10、reverse() 反转排序

    reverse() 将一个数组中的元素的"顺序反转"排序

    1. var a = [100,200,300,'小红','小明',400,500,600];
    2. console.dir('原数组');
    3. console.log(a);
    4. a.reverse();
    5. console.dir('执行过反转排序后的数组');
    6. console.log(a);

    预览效果

     11、concat()合并数组

    concat()合并数组 (将一个或多个数组合并成一个大数组!),返回给我们一个大数组

    1. var a = [1,2,3]
    2. var b = [100,200,300]
    3. var c = [800,900]
    4. var r = c.concat(a,b);
    5. console.log(r);

    预览效果

     

    12、sort()数组排序

    注意:这个方法的回调函数中  含有遍历 它会把数组中每个元素,两两进行比较
           比较完大小之后 然后进行位置的互换

    升序:

    1. var a = [20,6,9]
    2. console.log('原数组:');
    3. console.log(a);
    4. a.sort(function(a,b){
    5. return a - b
    6. });
    7. console.dir('执行排序之后数组:');
    8. console.log(a);

    预览效果

    降序:

    1. var a = [20,6,9]
    2. console.log('原数组:');
    3. console.log(a);
    4. a.sort(function(a,b){
    5. return b - a
    6. });
    7. console.dir('执行排序之后数组:');
    8. console.log(a);

     预览效果

     

    对字母排序:

    1. var f = ['B','O','A','M']
    2. console.log('原数组:')
    3. console.log(f);
    4. f.sort();
    5. console.dir('执行排序之后数组:');
    6. console.log(f);

     预览效果

    (13) filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

    注意: filter() 不会对空数组进行检测。

    注意: filter() 不会改变原始数组。

    1. var ages = [32, 33, 16, 40];
    2. console.dir('原数组')
    3. console.log(ages);
    4. // 返回的内容,需要创建一个数组 对他进行存储
    5. var res = ages.filter((item)=>{
    6. return item > 32
    7. }) ;
    8. console.dir('查看执行过滤后的数组');
    9. console.log(ages);

     预览效果

     

     

  • 相关阅读:
    MySQL进阶1:基础查询
    React项目中使用Echarts
    [答疑]微信餐馆案例中,“启动二维码对应的程序”这个用例合理吗
    Vue2.js:v-click-outside自定义指令和vue-click-outside监听鼠标点击元素外部区域事件
    vue2+elementUI,vue3+elementPlus解决form中的下拉列表回写显示id,不显示label
    kcp简析
    在华为云 CCE 上部署 EMQX MQTT 服务器集群
    【欧几里得算法】C++求解最大公因子:求解两个正整数的最大公因子
    EF执行迁移时提示provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的
    Linux: 命令:echo
  • 原文地址:https://blog.csdn.net/m0_71814235/article/details/126589632