ES6知识点整理之数组解构和字符串解构的应用示例


Posted in Javascript onApril 17, 2019

本文实例讲述了ES6知识点整理之数组解构和字符串解构的应用。分享给大家供大家参考,具体如下:

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring), 而数组的解构赋值是从数组中提取值,按照对应位置,对变量赋值。

ES6之前的赋值操作

var arr = [1,2,3];
var a = arr[0];
var b = arr[1];
var c = arr[2];
console.log(a,b,c); // 1 2 3

对一维数组的解构赋值的应用

var arr = [1,2,3];
var [a,b,c] = arr;
console.log(a,b,c); // 1 2 3

对多维数组的解构赋值的应用

let arr = [22, [5,8], 11];
let [a,[b,c],d] = arr;
console.log(a,b,c,d); // 22 5 8 11

解构赋值用于变量的交换举例

let x = 11;
let y = 22;
[y,x] = [x,y];
console.log(x,y); // 22 11

解构赋值中不完全的解析示例

let arr = [22, [5,8], 11];
let [a,[b],c] = arr;
console.log(a, b, c); // 22 5 11
let [m,[,n],o] = arr;
console.log(m, n, o); // 22 8 11

不能被数组解析的值

let [m] = "";
console.log(m); // undefined;
let [x,y] = NaN; // NaN is not iterable. 不能被数组解析的值:NaN, undefined, null, {}

实现了iterator接口的类型都可以被解析赋值

let [x,y] = new Set([22, 33]);
console.log(x,y); // 22 33

自己创造一个实现iterator接口的对象进行解构赋值

class Group{
 constructor() {
 }
 next() {
  return {value:'Joh', done: false};
 }
 [Symbol.iterator]() {
  return this;
 }
}
let group = new Group();
let [x,y,z,m,n] = group;
console.log(x,y,z,m,n); // Joh Joh Joh Joh Joh 备注:这里如果类中的next的done为true,那么全为undefined

… 运算符 转换成数组的解构举例

var [x,w, ...y] = [1,2,3,4,5,6];
console.log(x,w, y); // 1 2 [3,4,5,6]

解构数组的默认值

如果数组中的不是undefined,都会被成功解构, 不会被默认值替代

let [x=15, y] = [undefined, 12];
console.log(x,y); // 15 12
let [m=12, n] = [null, 10];
console.log(m, n); // null 10

字符串解构的处理

var [a,b,c] = 'hello';
console.log(a,b,c); // h e l

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具http://tools.3water.com/code/HtmlJsRun测试上述代码运行结果。

更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jQuery 扩展对input的一些操作方法
Oct 30 Javascript
jquery 圆形旋转图片滚动切换效果
Jan 19 Javascript
JS获取地址栏参数的几种方法小结
Feb 28 Javascript
js 动态为textbox添加下拉框数据源的方法
Apr 24 Javascript
window.print打印指定div指定网页指定区域的方法
Aug 04 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
Apr 25 Javascript
vuex的使用及持久化state的方式详解
Jan 23 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
Mar 25 jQuery
JS实现字符串翻转的方法分析
Aug 31 Javascript
微信小程序制作表格的方法
Feb 14 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
Mar 04 Javascript
javascript实现倒计时提示框
Mar 02 Javascript
ES6知识点整理之对象解构赋值应用示例
Apr 17 #Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
Apr 17 #Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
Apr 17 #Javascript
一篇文章,教你学会Vue CLI 插件开发
Apr 17 #Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
Apr 17 #Javascript
mpvue性能优化实战技巧(小结)
Apr 17 #Javascript
node.js监听文件变化的实现方法
Apr 17 #Javascript
You might like
PHP实现的方程求解示例分析
2016/11/11 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
初学JavaScript第二章
2008/09/30 Javascript
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
JS关键字变色实现思路及代码
2013/02/21 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
nodejs个人博客开发第四步 数据模型
2017/04/12 NodeJs
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
Vue实现web分页组件详解
2017/11/28 Javascript
Vue中this.$router.push参数获取方法
2018/02/27 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
Python yield 使用浅析
2015/05/28 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
numpy.linalg.eig() 计算矩阵特征向量方式
2019/11/29 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
销售经理工作职责范文
2013/12/03 职场文书
广告设计应届生求职信
2014/03/01 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
高三英语教学计划
2015/01/23 职场文书
有关西游记的读书笔记
2015/06/25 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python