美文网首页程序员步步为营之JavaScript
JS-数组-展开元素 解构赋值

JS-数组-展开元素 解构赋值

作者: 刘淘 | 来源:发表于2020-06-13 11:58 被阅读0次

1. 展开运算符

(...)三个点叫做展开运算符,允许一个表达式在某处展开。
展开运算符在多个参数(用于函数调用)或多个元素(用于数组字面量)或者多个变量(用于解构赋值)的地方可以使用。

1.通过扩展运算符将数组转换为字符串
2.通过扩展运算符拼接两个数组


image.png

展开运算符在唯一的参数前面的时候,此参数叫做不定参。
如果是在第二个参数后面,可以称之为剩余参数。


image.png

2. 解构赋值

解构赋值是对赋值运算符的扩展。
它针对数组或者对象进行模式匹配,然后对其中的变量进行匹配。
在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中对数据字段的获取。

image.png
image.png

不定参+解构赋值综合应用例子:

 
const data = {
    classId: "123456",
    className: "qinghua",
    one: "one",
    two: "two",
    three: "three",
    four: "four",
    employees: [
        { firstName: "Jone1", lastName: "wu", age: 12 },
        { firstName: "Jone2", lastName: "wu", age: 13 },
        { firstName: "Jone3", lastName: "wu", age: 14 },
    ]

}
//将格式转换为下面的样子:
const data = {
    cid: "123456",
    cname: "qinghua",
    one: "one",
    two: "two",
    three: "three",
    four: "four",
    res: [
        { firstName: "Jone1", age: 12 },
        { firstName: "Jone2", age: 13 },
        { firstName: "Jone3", age: 14 },
    ]

}
//================================
const data = {
    classId: "123456",
    className: "qinghua",
    one: "one",
    two: "two",
    three: "three",
    four: "four",
    employees: [
        { firstName: "Jone1", lastName: "wu", age: 12 },
        { firstName: "Jone2", lastName: "wu", age: 13 },
        { firstName: "Jone3", lastName: "wu", age: 14 },
    ]

}
 /**
*参数利用了解构赋值+不定参
*解构应用于函数参数声明,当函数调用时进行解构赋值
*/
function changeObj({ employees, ...others }) {
    let newEmployees = []
    for (let obj in employees) {
        newEmployees.push({
            firstName: obj.firstName,
            age: obj.age
        })
    } 
    return {
        cid: others.classId,
        cName: others.className,
        one: others.one,
        res: newEmployees

    };
}
let result = changeObj(data);

        
  

3. 追加元素

相关文章

  • JS-数组-展开元素 解构赋值

    1. 展开运算符 (...)三个点叫做展开运算符,允许一个表达式在某处展开。展开运算符在多个参数(用于函数调用)或...

  • 解构赋值

    解构赋值 数组的解构赋值 嵌套,默认值,展开符 对象的解构赋值 对象解构赋值的本质与简写 对象解构的模式与变量 对...

  • ECMAScript6 -- 解构赋值

    解构赋值 数组的解构赋值 对象的解构赋值 特殊: 数组的解构赋值 如果右边不是数组,默认转换为类数组 对象的解构赋...

  • 第三节:变量的解构赋值

    1、数组的解构赋值 2、对象的解构赋值 注意:对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取...

  • 变量的解构赋值 - 对象篇

    上次讲了数组的解构赋值,这次来看下对象的解构赋值 对象的解构和数组不同之处在于,数组的元素是按次序排列的,变量的取...

  • ES6解构赋值、交换两个变量的值、设置函数默认值、模板字符串、箭

    1,解构赋值 解构赋值主要包括数组的解构赋值、对象的解构赋值、字符串的解构赋值、函数参数的解构赋值。 (1)数组的...

  • 解构赋值,设置函数默认值,箭头函数

    1,解构赋值 解构赋值主要包括数组的解构赋值、对象的解构赋值、字符串的解构赋值、函数参数的解构赋值。 (1)数组的...

  • 解构赋值

    解构赋值 解构赋值可分为数组解构赋值和对象解构赋值,数组解构赋值要求右侧必须可迭代(具有Iterator 接口),...

  • ES6常用新特性汇总

    1.去除数组重复元素 2.合并对象Object.assign() 3. es6展开运算符... 4.数组解构赋值 ...

  • es6学习-解构赋值

    解构赋值可以给默认值 为非同名局部变量赋值 嵌套对象解构 嵌套数组解构 不定元素 与函数参数一样,不定元素必须为最...

网友评论

    本文标题:JS-数组-展开元素 解构赋值

    本文链接:https://www.haomeiwen.com/subject/qlkatktx.html