ES6 - 解构(数组和对象)
解构对象
/**
* 解构:快捷,方便
*
* 对象解构
*/
{
var expense = {
type: "es6",
amount: "45"
};
//1.ES5
// var type = expense.type;
// var amount = expense.amount;
// console.log(type, amount); //output: es6 45
//2.ES6
const { type, amount, abc } = expense;
console.log(type, amount, abc); //output: es6 45 undefined
}
{
var saveFiled = {
extension: "jpg",
name: "girl",
size: 14040
};
//ES5
function fileSammary1(file) {
return `${file.name}.${file.extension}的总大小是${file.size};`
}
//ES6
//名字不能变,位置可以乱
function fileSammary2({ name, size, extension }) {
return `${name}.${extension}的总大小是${size};`
}
console.log(fileSammary1(saveFiled)); //output: girl.jpg的总大小是14040;
console.log(fileSammary2(saveFiled)); //output: girl.jpg的总大小是14040;
}
解构数组
/**
* 解构:快捷,方便
*
* 数组解构
*/
/**
* 基础
*/
{
const names = ["Henry", "Bucky", "Emily"];
const [name1, name2, name3] = names;
console.log(name1, name2, name3);
//用对象接收,反数组个数
const { length } = names;
console.log(length); // 3
//结合张开运算符
const [name, ...rest1] = names;
console.log(name); // Henry
console.log(rest1); //(2) ["Bucky", "Emily"]
let [foo, [[bar], baz]] = [1, [[2], 3]];
foo; // 1
bar; // 2
baz; // 3
}
/**
* 数组中的对象
*/
{
//对象数组
const people = [
{ name: "Henry", age: 20 },
{ name: "Bucky", age: 25 },
{ name: "Emily", age: 30 }
];
// ES5
//读取数据元素中的对象参数值
{
var age = people[0].age;
age; // 20
}
// ES6
{
//读取数组的元素
{
const [age1, , age] = people;
console.log(age1); // { name: "Henry", age: 20 },
console.log(age); // { name: "Emily", age: 30 }
}
//读取数组元素中的对象参数值
{
const [{ age }] = people;
console.log(age); // 20
}
}
//数组转化为对象
{
const points = [
[4, 5], [10, 20], [0, 100]
];
/**
* 期望数据格式:
* [
* {x:4,y:5},
* {x:10,y:20},
* {x:0,y:100}
* ]
*/
let newPoints = points.map(([x,y])=>{
//1.传入解构 [x,y] = [4,5]
//2.x = 4, y = 5
//3.return {x:x,y:y} 简写 return {x,y}
return {x,y};
})
console.log(newPoints);
}
}
ES6 - 解构(数组和对象)的更多相关文章
- ES6 解构对象和数组
1.解构对象 let saveFiled = { extension: "jpg", name:"girl", size:14040 }; ES5 functi ...
- 【ES6 】ES6 解构赋值--数组解构赋值
定义 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构 数组的解构赋值 以前,为变量赋值,只能直接指定值. let a = 1; let b = 2; let c = 3; ...
- ES6解构赋值
前面的话 我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段.在ES6中添加了可以简化这种任务的新特性:解构.解构是一种打破数据结构,将其拆分为更小部分的过程.本文将详细介绍ES6解构赋值 ...
- es6 解构赋值
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 关于给变量赋值,传统的变量赋值是这样的: var arr = [1,2,3];//把数组的值 ...
- ES6 解构 destructuring
解构的作用:简化书写长度,提升开发效率. 解构对象 在开发中我们常用到使用ajax请求数据,并且把数据渲染到页面上.可能这个数据返回的对象或数组.例如返回一个obj{name:'zwq',age:18 ...
- ES6解构赋值常见用法
解构赋值出现的契机: let obj = { a: 1, b: 2 } // 取值 let a = obj.a let b = obj.b 问题核心: 每次取值既要确定对象属性名,还得重新定义一个变量 ...
- ES6解构赋值详解
文章转载自:http://www.zhufengpeixun.cn/article/167 解构赋值(destructuring assignment)语法是一个 Javascript 表达式,这种语 ...
- ES6 解构
{ "code": 200, "msg": "success", "data": { "total" ...
- ES6解构
解构:“解开--重构” 1.数组的解构: //数组的解构: // let arr=[1,2,3,6] // let[a,b,c,d]=arr; // console.log(a,b,c,d)// 1, ...
随机推荐
- Linux 系统管理 : last 命令详解
原文 last命令用于显示用户最近登录信息.单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来 语法 last(选项)(参数) 选项 ...
- ubuntu17升级到18.04
问题描述: ubuntu不是LTS长期支持的版本在支持期过了,没有apt源提供支持.所以需要升级到对应的LTS版本 问题解决: 实验环境: ubuntu17.10--->ubuntu18.04. ...
- FFMPEG 命令行工具- ffplay
ffplay 简介 ffplay是ffmpeg工程中提供的播放器,功能相当的强大,凡是ffmpeg支持的视音频格式它基本上都支持.甚至连VLC不支持的一些流媒体都可以播放,但是它的缺点是其不是图形化界 ...
- JQuery学习笔记之属性与样式
.attr()与.removeAttr() attr()有4个表达式 attr(传入属性名):获取属性的值 attr(属性名, 属性值):设置属性的值 attr(属性名,函数值):设置属性的函数值 a ...
- Gym - 100962F: Frank Sinatra (树上莫队+bitset)
题意:给定一棵树,带边权.然后Q次询问,每次给出(u,v),求这个路径上最小的未出现的边权. 思路:树上莫队,求mex可以用分块或者bitset,前者可能会快一点. 莫队过程:求出欧拉序,即记录d ...
- Spring,Spring MVC,Spring Boot 三者比较
Spring,Spring MVC,Spring Boot 三者比较 Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是Spring 的 io ...
- 多目标跟踪MOT综述
https://blog.csdn.net/u012435142/article/details/85255005 多目标跟踪MOT 1评价指标 https://www.cnblogs.com/YiX ...
- GuGuFishtion HDU - 6390 (欧拉函数,容斥)
GuGuFishtion \[ Time Limit: 1500 ms\quad Memory Limit: 65536 kB \] 题意 给出定义\(Gu(a, b) = \frac{\phi(ab ...
- MongoDB shell 4 用户管理方法
方法名 描述 db.getUsers() db.dropAllUsers() db.updateUser() db.createUser() db.revokeRolesFromUse ...
- kuma docker-compose 环境试用
当前官方暂时还没有使用docker-compose 运行kuma 的demo(太复杂没必要),但是做为一个本地的测试环境使用 docker-compose 运行下通用模式的kuma 还有比较有意义的, ...