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的方法制作一个简单的导航栏
Jun 23 Javascript
jQuery获取页面元素绝对与相对位置的方法
Jun 10 Javascript
JQuery实现图片轮播效果
Sep 15 Javascript
深入浅析JavaScript的API设计原则
Jun 14 Javascript
Javascript基础_标记文字的实现方法
Jun 14 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
Jul 07 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
Mar 02 Javascript
Node.js数据库操作之连接MySQL数据库(一)
Mar 04 Javascript
详解iframe跨域的几种常用方法(小结)
Apr 29 Javascript
微信小程序的授权实现过程解析
Aug 02 Javascript
jQuery实现雪花飘落效果
Aug 02 jQuery
Vue OpenLayer 为地图绘制风场效果
Apr 24 Vue.js
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
高分R级DC动画剧《哈莉·奎茵》第二季正式预告首发
2020/04/09 欧美动漫
PHP中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
PHP如何将log信息写入服务器中的log文件
2015/07/29 PHP
用显卡加速,轻松把笔记本打造成取暖器的办法!
2013/04/17 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
2013/12/16 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
2015/08/31 Javascript
基于JavaScript创建动态Dom
2015/12/08 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
Angular1.x复杂指令实例详解
2017/03/01 Javascript
基于BootStrap的文本编辑器组件Summernote
2017/10/27 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
2019/05/13 jQuery
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
django 创建过滤器的实例详解
2017/08/14 Python
Python调用C# Com dll组件实战教程
2017/10/12 Python
python实现报表自动化详解
2017/11/16 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
python 识别登录验证码图片功能的实现代码(完整代码)
2020/07/03 Python
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
工商管理实习自我鉴定
2013/09/28 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
委托证明模板
2014/09/16 职场文书
中标通知书格式
2015/04/17 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
商务宴会祝酒词
2015/08/11 职场文书
防溺水主题班会教案
2015/08/12 职场文书