ES6 解构对象和数组
1.解构对象
let saveFiled = {
extension: "jpg",
name:"girl",
size:14040
}; ES5
function fileSammary(file){
return `${file.name}.${file.extension}的总大小是${file.size}`;
}
console.log(fileSammary(saveFiled)); ES6
function fileSammary({name,extension,size}){
return `${name}.${extension}的总大小是${size}`;
} console.log(fileSammary(saveFiled));
2.解构数组
1.返回数组第一位数值
const names = ["Henry","Bucky","Emily"]; ES5
console.log(names[0]) ES6
const [name1,name2,name3] = names;
console.log(name1) 2.返回数组个数
ES5
console.log(names .length) ES6
const { length } = names
console.log(length) 3.结合展开运算符
const [name,...rest] = names;
console.log(name, rest); 4.对象数组
const people = [
{name:"Henry",age:20},
{name:"Bucky",age:25},
{name:"Emily",age:30}
]; ES5
var age = people[0].age;
console.log(age); ES6
const [age] = people;
console.log(age) //{name:"Henry",age:20}
const [{age}] = people;
console.log(age) // 20 5. 使用场景 将数组转化为对象
const points = [
[4, 5],
[10, 1],
[0, 40]
]
// 期望数据格式
[
{x:4,y:5},
{x:10,y:1},
{x:0,y:40}
] ES6
let newPoints = points.map(pair => {
// const x = pair[0];
// const y = pair[1];
const [x,y] = pair;
return {x,y}
}) let newPoints = points.map(([x, y]) => {
// const x = pair[0];
// const y = pair[1];
// const [x,y] = pair;
return { x, y }
}) console.log(newPoints)
ES6 解构对象和数组的更多相关文章
- ES6 - 解构(数组和对象)
解构对象 /** * 解构:快捷,方便 * * 对象解构 */ { var expense = { type: "es6", amount: "45" }; / ...
- ES6解构赋值
前面的话 我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段.在ES6中添加了可以简化这种任务的新特性:解构.解构是一种打破数据结构,将其拆分为更小部分的过程.本文将详细介绍ES6解构赋值 ...
- es6 解构赋值
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 关于给变量赋值,传统的变量赋值是这样的: var arr = [1,2,3];//把数组的值 ...
- 初识ES6 解构
1.数组的解构 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构 例子: let [a, b, c] = [1, 2, 3]; console.log(a);//1cons ...
- 简单看看es6解构赋值
哎,我真的是太难了,今天就被这个解构赋值(也可以叫做析构,貌似析构是在c++中的,所以我这里叫做解构赋值吧)弄的我很烦,本来以为很容易的,结果还是弄了好久...就总结一下解构吧! 1.解构的基本使用 ...
- ES6 解构 destructuring
解构的作用:简化书写长度,提升开发效率. 解构对象 在开发中我们常用到使用ajax请求数据,并且把数据渲染到页面上.可能这个数据返回的对象或数组.例如返回一个obj{name:'zwq',age:18 ...
- ES6解构赋值常见用法
解构赋值出现的契机: let obj = { a: 1, b: 2 } // 取值 let a = obj.a let b = obj.b 问题核心: 每次取值既要确定对象属性名,还得重新定义一个变量 ...
- ES6 解构
{ "code": 200, "msg": "success", "data": { "total" ...
- Perl面向对象(3):解构——对象销毁
本系列: Perl面向对象(1):从代码复用开始 Perl面向对象(2):对象 Perl面向对象(3):解构--对象销毁 第3篇依赖于第2篇,第2篇依赖于1篇. perl中使用引用计数的方式管理内存, ...
随机推荐
- vim打开多个文件、同时显示多个文件、在文件之间切换
打开多个文件: 1.vim还没有启动的时候: 在终端里输入 vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :open file 可以再打开 ...
- spark-sql使用笔记
如何使用hive的udf 可以使用spark-sql --jars /opt/hive/udf.jar,指定udf的路径 还可以在spark-default.conf里指定spark.jars /op ...
- loj#10067 构造完全图(最小生成树)
题目 loj#10067 构造完全图 解析 和kruscal类似,我们要构造一个完全图,考虑往这颗最小生成树里加边 我们先把每一条边存下来, 把两个端点分别放在不同的集合内,记录每个集合的大小,然后做 ...
- 十二.作业难点(有IT大牛路过的可以帮我解答我的疑问?万分感谢)--转行的苦逼人
今天开始改变写博客风格,其他不多说. 今天题目如下: # 7.写函数,完成以下功能: (8分) # 例如有: # user_list=[ # {"name": "alex ...
- if __name__ == '__main__' 该如何理解
Python 中的 if __name__ == '__main__' 该如何理解 程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# ...
- JS构造函数new的过程
造函数其实和普通函数本质上并无区别,唯一的区别有两个: 函数首字母大写,这个区别只是约定俗成的,便于区分.你实在要小写定义构造函数也完全没问题,所以这个区别可以忽略. 构造函数的调用需要用new操作符 ...
- 原生js 定义分页控件,类似于百度搜索
实现一个类似于百度搜索结果的分页样式,样式可以自定义,接近于原生,少部分Jquery . 1.实现效果截图(默认无任何样式) 2.主要程序代码 define(function (require, e ...
- js流程控制语句(三)
如果在语句中需要声明变量时:最好给他们赋予初始类型值[js中变量声明使用var属于弱类型声明,若只声明则均表示为undefined,在后面语句计算中可能会产生错误计算];相应的类型变量需要如下方式进行 ...
- Web网站实现Google登录
一.打开谷歌控制台:https://console.developers.google.com/apis 二.点击创建凭据,如下图,填写项目地址等 三.创建好客户端ID和秘钥后,填写对应的项目网址和登 ...
- JS 小工具 MYSQL WHERE IN条件 去掉换行符(列转行)
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...