首页前端开发JavaScript介绍JavaScript中...扩展运算符的常用方法

介绍JavaScript中...扩展运算符的常用方法

时间2024-01-30 04:18:03发布访客分类JavaScript浏览549
导读:收集整理的这篇文章主要介绍了介绍JavaScript中...扩展运算符的常用方法,觉得挺不错的,现在分享给大家,也给大家做个参考。个人对…常用方法的理解…作为扩展运算符这里指的扩展是针对数组或字符串或伪数组(就是类似于数组这样的可以用下标将...
收集整理的这篇文章主要介绍了介绍JavaScript中...扩展运算符的常用方法,觉得挺不错的,现在分享给大家,也给大家做个参考。

个人对…常用方法的理解

…作为扩展运算符

这里指的扩展是针对数组或字符串或伪数组(就是类似于数组这样的可以用下标将每一项取出来,并且有总体长度属性的数据,以下简称为可遍历对象)的扩展,代表的含义是将数组中的每一项取出来,并用,进行分隔(当使用的时候是这样,如果单独打印的话是用空格分隔)。

  • …可以将一个一维数组进行展开,即只能去掉最外面一层的[];
  • 他的结果就是数组被去掉[]的结果,不是字符串也不是数组也不是别的东西,所以按照它逗号分隔的方式,可以将它作为函数的形参传递也可以外面再套一个[],当做数组作为一个函数的return,但是不能直接return,可以用console输出。
script>
            let arr = [            5,            "str",            [1,2,3],            ["hello","world"],        ];
        function fn(arr){
                console.LOG(...arr);
               return [...arr]                }
        function fo(...arr){
                console.log(arr);
        }
        // function foo(arr){
            //     return ...arr;
  //    ExPression expected.        // }
            console.log(fn(arr));
         //  5 "str" (3) [1, 2, 3] (2) ["hello", "world"]                                  //  (4) [5, "str", Array(3), Array(2)]		//   外面的[]去掉了,但是里面的[1,2,3]、["hello","world"]的[]没有去掉    /script>
    

…作为剩余运算符

  • 剩余运算符的意思就是我不知道这个参数总共有多少个,我用…表示剩余的,同样它只适用于数组。
  • 而且这两种方法得到的结果都是一个数组,而不是数组去掉[]。
  • 主要有以下两种方法:
    • 第一种: 所有的参数都是未知的,不知道传几个。
    • 第二种: 有一个或多个已知参数,其余参数未知。
//  第一种所有参数都未知function aa(...arr){
        console.log(arr);
}
    aa(5,"sss",22)     //  (3) [5, "sss", 22]     =>
    结果是一个数组//  第二种,有两个已知参数function ff(a,b,...arr){
    console.log(arr)}
    ff(2,3,"str","111")    // (2) ["str", "111"]   =>
        结果是一个数组

特性其他应用:

分解字符串

可以用str.splIT("")也可以用[…str]

伪数组转换为真数组

由于他可以将可遍历对象用数组去掉[]的方法显示出来,而且可以对伪数组使用,所以很好理解对伪数组使用后将伪数组的形式转变后,在加上[]就是真数组了,可以调用真数组的方法。 => […arr.]

浅拷贝

由于它是对一个可遍历的对象使用循环过来的,所以它不会改变原数组,会进行一个浅克隆的操作,因此可以用于数组的浅拷贝。 => […arr]

数组扁平化

  script>
            // 简单的二维数组(一个数组里面又套了一个数组  =>
      二维)        let arr = [            5,            "str",            [1,2,3],            ["hello","world"],        ];
            // 三维数组(一个数组里面套一个数组,里面又套一个数组)        let arr1 = [            5,            "str",            [                1,2,3,                ["ccc","dddd"]            ],            ["hello","world"],        ];
        function flatten(arr){
                return [].concat(...arr);
        }
        function flatten1(arr){
                return [].concat(...arr.map(x =>
     Array.isArray(x) ? flatten1(x) : x));
        }
            console.log(flatten(arr));
        // (7) [5, "str", 1, 2, 3, "hello", "world"]        console.log(flatten1(arr));
       // (7) [5, "str", 1, 2, 3, "hello", "world"]        console.log(flatten(arr1));
       // (8) [5, "str", 1, 2, 3, Array(2), "hello", "world"]        console.log(flatten1(arr1));
      // (9) [5, "str", 1, 2, 3, "ccc", "dddd", "hello", "world"]    /script>
    

由以上可知,当数组结构非常简单(二维)时,扩展运算符可以将里面的数组解出来,并使用concat进行拼接。但是当数组比较多维时,它并不能将更深层的数组解出来,需要使用扩展运算符配合递归才可以实现。

推荐学习:《javascript基础教程

以上就是介绍JavaScript中...扩展运算符的常用方法的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: js如何使用includes()判断数组是...下一篇:js数组里的元素如何执行指定函数猜你在找的JavaScript相关文章 html font标签如何设置字体大小?html font标签属性用法介绍2022-05-16vue3+TypeScript+vue-router的使用方法2022-04-16vue3获取当前路由地址2022-04-16如何利用React实现图片识别App2022-04-16JavaScript展开运算符和剩余运算符的区别详解2022-04-16微信小程序中使用vant框架的具体步骤2022-04-16Vue elementUI表单嵌套表格并对每行进行校验详解2022-04-16如何利用Typescript封装本地存储2022-04-16微信小程序中wxs文件的一些妙用分享2022-04-16JavaScript的Set数据结构详解2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: 介绍JavaScript中...扩展运算符的常用方法
本文地址: https://pptw.com/jishu/592030.html
什么是CommonJS模块规范?Nodejs模块机制浅析 JS字符串学习之巧用函数来连接多个字符串

游客 回复需填写必要信息