当前位置 博文首页 > 纸飞机博客:展开运算符(spread)

    纸飞机博客:展开运算符(spread)

    作者:[db:作者] 时间:2021-09-11 16:46

    三个点(…),将可迭代对象转为用逗号分隔的参数序列。如同rest参数的逆运算。

    console.log(...[l, 2,3])
    //123
    const a = [1,2,3],
    b = [4,5,6];
    //赋值数组
    const c = [...a] // [1,2,3]
    //合并数组
    const d = [...a,...b] //[l,2,3,4,5,6]
    //将一个数组添加到另一个数组的尾部
    a.push(...b);
    //字符串转为真正的数组
    [...'hello'] //['h','e','l','l','o']

    结合函数,将数组变为参数序列?

    function add(x, y) {
        return x + y;
    }
    var numbers = [4,38];
    add(...numbers) //42

    与解构赋值结合?

    const [first, ...rest] = [1,2,3,4,5];
    first//1
    rest//[2,3,4,5]

    拓展具有Iterator接口的对象

    var s = new Set();
    s.add(1);
    s.add(2);
    var arr= [...s]// [1,2]
    
    function *gen() {
        yield 1;
        yield 2;
        yield 3;
    }
    var arr= [...gen()]//[1, 2, 3]
    
    var m = new Map();
    m.set(1,1)
    m.set(2,2)
    var arr = [...m] // [[1,1],[2,2]]
    cs
    下一篇:没有了