VUE扩展运算符(...)
Vue扩展运算符是JS中一个可以遍历数组和对象的一种特殊运算符,可以用来从数组和对象中构建出新的对象或数组,Vue中也实现了这项功能,这使得开发者可以在构建应用时使用扩展运算符来进行复杂的处理。
在JS中,扩展运算符的 形式如下:
...obj
使用扩展运算符可以将obj所有属性展开,从而获得一个对象或数组的副本。
例如,下面的代码可以将数组arr加到变量a中:
const arr = [1,2,3];
const a = [...arr]
Vue中的扩展运算符与JS中的扩展运算符基本一致,可以用来获取数组和对象的副本,而Vue中使用扩展运算符的地方更为丰富,比如:在组件中定义组件选项、在组件中定义props、在实例中定义data对象等。
1、操作对象
在定义组件 props时,可以使用扩展运算符:
Vue.component(example-component {props: {...data},template: <div>{{value}}</div>
})
在实例中定义data对象时也可以使用扩展运算符:
const app = new Vue({data: {.data},template: <div>{{value}}</div>
})
使用扩展运算符合并多个对象(使用扩展运算符合并对象时,如果两个对象中有相同的属性,则对象最后的属性会覆盖先前的属性):
const obj1 = {a: 1}
const obj2 = {b: 2}
const obj = {...obj1, ...obj2}
修改一个属性
method2() {let a = {name: 'zhh', age: 18, id: 10};//先拿到a, 后面的name:zhh1,把 a 中name 的值替换掉了let c = {...a, name: 'zhh1'};console.log(c);// 打印结果 {name: "zhh1", age: 18, id: 10}
}
删除一个属性
method1() {let a = {name: 'zhh', age: 18, id: 10};let {name, ...c} = a;console.log(name, c);// 打印结果 zhh {age: 18, id: 10}
}
如果将对象属性扩展放在数组,将会报错:
iClick11() {let obj = {name: 'zhh',age: '20'}console.log([...obj]);//会报错}
}
2、操作数组
打印数组
methods: {
/**
* 把数组中的元素孤立起来
*/
iClick() {let iArray = ['1', '2', '3'];console.log(...iArray);// 打印结果 1 2 3
}
在数组中添加元素
iClick3() {let iArray = ['1', '2', '3'];console.log(['0', ...iArray, '4']);// 打印结果 ["0", "1", "2", "3", "4"]
}
在数组中删除元素(取出一个元素,与结构赋值的结合。如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错)
iClick8() {const [first, ...rest] = [1, 2, 3, 4, 5];console.log(first);// 打印结果 1console.log([...rest]);// 打印结果 [2, 3, 4, 5]const [one, ...last] = ["foo"];console.log(one);//打印结果 fooconsole.log([...last]);//打印结果 []
}
数组合并
iClick6() {// ES6 的写法var arr1 = [0, 1, 2];var arr2 = [3, 4, 5];arr1.push(...arr2);console.log(arr1);// 打印结果 [0, 1, 2, 3, 4, 5]
}//推荐使用
iClick7() {var arr1 = [0, 1, 2];var arr2 = [3, 4, 5];console.log([...arr1, ...arr2]);// 打印结果 [0, 1, 2, 3, 4, 5]
}
将字符串转成数组
iClick9() {let iString = 'woshizhongguoren';console.log([...iString]);// 打印结果 ["w", "o", "s", "h", "i", "z", "h", "o", "n", "g", "g", "u", "o", "r", "e", "n"]
}
Map和Set结构,Generator函数
iClick10() {let map = new Map([[1, 'one'],[2, 'two'],[3, 'three'],]);let arr = [...map.keys()];console.log(arr);// 打印结果 [1, 2, 3]
}
当做参数传递时,和直接传数组的区别
iClick4() {let iArray = ['1', '2', '3'];//注意传的时候,就要三个点this.hanshu(...iArray);
},
hanshu(...iArray) {let ooo = 1;console.log(...iArray);// 打印结果 1 2 3
}
求出最大值
iClick5() {let iArray = [1, 2, 3, 99, 44, 66, 21, 85, 77];let ooo = Math.max(...iArray);console.log(ooo);// 打印结果 99
}
VUE扩展运算符(...)相关推荐
- Vue的三个点es6知识,扩展运算符表达含义
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- Vue中...(三个点)的意思及作用(扩展运算符)
扩展运算符. 对数组和对象而言,就是将运算符后面的变量里东西每一项拆下来. (一)操作数组 // 1.把数组中的元素孤立起来 let iArray = ['1', '2', '3']; console ...
- ES6 的扩展运算符
扩展语法 1. 函数 rest 参数 ES6 引入 rest 参数也叫剩余参数,用于获取函数的多余参数,可以替代使用arguments对象 ... 出现在函数参数列表的最后,那么它就是 rest 参数 ...
- javascript ES6 新特性之 扩展运算符 三个点 ...
对于 ES6 新特性中的 ... 可以简单的理解为下面一句话就可以了: 对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中. 作用类似于 Object.assign() ...
- es6之扩展运算符...
对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中 let bar = { a: 1, b: 2 }; let baz = { ...bar }; // { a: 1, ...
- php es6写法,ES6...扩展运算符(示例代码)
在数组中的应用 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,++将一个数组转为用逗号分隔的参数序列++. console.log(...[1, 2, 3]) // 1 ...
- node 之 ... 扩展运算符报错
使用pm2的遇到的问题:(实际上是 node 版本不一致导致的问题) 描述:sudo 下的node版本和 全局下的node版本不一致导致...扩展运算符报错. 实例: { "apps&quo ...
- 扩展运算符,Object.assign
2019独角兽企业重金招聘Python工程师标准>>> assign或者...扩展符 都是浅拷贝 对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中 ...
- JavaScript扩展运算符(...)
对象的扩展运算符 扩展运算符是三个点(...).用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中. 如上图所示,新建了一个对象a,然后通过扩展运算符将其属性x,y一并拷贝到b对象中. 合并两个 ...
最新文章
- java关键字--static--应用场景、特点和注意事项
- 国赛来咯,全国大学生智能汽车竞赛百度赛道正式开启
- [引]ASP.NET IIS 注册工具 (Aspnet_regiis.exe)
- js笔记(二)数组、对象、this
- 前端学习(2015)vue之电商管理系统电商系统之实现图片的预览效果
- 受疫情影响 AMD宣布退出CES线下展会
- fragment的懒加载
- 如何使用sendEmail发送邮件
- linux怎么安装网卡驱动固件,Linux网卡驱动的安装方式
- ofo现在还有退路吗?
- Oracle 卸载步骤详解
- ECharts为X轴Y轴添加单位
- 计算机二级选择题瞎蒙,一级消防员考试,一级消防员考试题大全
- 数字经济发展现状_(我的)数字媒体的现状
- Kotlin协程实现原理
- HTML tabindex用法及使用场景详解
- Neuron segmentation using 3D wavelet integratedencoder–decoder network
- JAVA 面试知识点(个人总结)
- 微调电位器命名规则_电位器物料规格描述规范
- 武汉理工大学计算机考研考纲,2020武汉理工大学计算机考研初试科目、参考书目、招生人数汇总...
热门文章
- spring cloud Netflix全套面试,这一篇就够了,3万字整理
- 腾讯(唯品会)笔试面试经历
- 瓜皮的佳木斯集训Day1
- Golang操作Excel的模块Excelize学习总结2-设置单元格数据
- 【跃迁之路】【739天】程序员高效学习方法论探索系列(实验阶段496-2019.3.1)...
- Word2013文档打字如何设置插入模式与改写模式
- 如何求C语言字符串长度(strlen函数和sizeof关键字)
- LCUSB-13xB/M 系列高性能 USB 接口 CAN 卡在医疗体外诊断仪上的应用
- [原创]ASP.NET MVC调用美图秀秀开放平台拼图实现
- 豆瓣 FM 精美版 Chrome 扩展:改变的不只是外表