资讯专栏INFORMATION COLUMN

ES6 实践当中的小经验

sunsmell / 2628人阅读

摘要:解析赋值现假设有如下一个数据结果如下的两种方式输出的结果完全相同其实并不知道为什么两种方式都支持,觉得就应该是第二种方式才正统给数组扩展了一个方法,使用方法如下所示也就是说它是给数组填充值但是如果填充的是引用类型的话,则事实上改变其中一个所

解析赋值
现假设有如下一个json数据

var jsonData = {
  id: 42,
  status: "OK",
  data: [867, 5309]
};

结果如下的两种方式输出的结果完全相同:

let { id, status, data: number } = jsonData;

console.log(id, status, number); // 42, "OK", [867, 5309]
let { id, status, data } = jsonData;

console.log(id, status, data); // 42, "OK", [867, 5309]

其实并不知道为什么两种方式都支持,觉得就应该是第二种方式才正统

ES6给数组扩展了一个fill方法,使用方法如下所示:

["a", "b", "c"].fill(7)
// [7, 7, 7]

也就是说它是给数组填充值,但是如果填充的是引用类型的话,则事实上改变其中一个所有的都会改变
如下图所示:

ES6新增了for of运算,原先有了for in运算,为什么又增加for of运算,那来看看它俩之间的区别
在使用for in循环数组,for in会遍历数组所有可枚举属性,包括原型链上的,所以for in更适合遍历对象,不要使用for in遍历数组

for in 遍历的是数组的索引,而for of遍历的是数组的元素值

所以在循环数组的话用for of会更加方便一些

Array.from是将类似数组对象(部署了Iterator接口的数据结构,比如字符串和Set结构)转化为真正的数组,但是Array.from还接受第二个参数,作用类似于map方法用来对每个元素进行处理,将处理后的值放入返回的数组

console.log(Array.from([1, 2, 3], (x) => x * x));

数组合并

var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
arr1.push(...arr2);
console.log(arr1); // 0,1,2,3,4,5

数组求最大值

console.log(Math.max(...[14, 3, 77]))

扩展运算符还可以替代Object.assign

let ab = { ...a, ...b }; //这句话跟下面的同样作用
let ab = Object.assign({}, a, b);

去除数组重量的值

var arrs = [1, 2, 3, 1, 3, 4];
console.log([...new Set(arrs)]); // [1, 2, 3, 4]

另一种方法去重:

function unique(array) {
  return Array.from(new Set(array));
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83955.html

相关文章

  • 【抢先领】《React 学习之道》我们翻译了一本最简单,且最实用的 React 实战教程……

    摘要:学习之道简体中文版通往实战大师之旅掌握最简单,且最实用的教程。前言学习之道这本书使用路线图中的精华部分用于传授,并将其融入一个独具吸引力的真实世界的具体代码实现。完美展现了的优雅。膜拜的学习之道是必读的一本书。 《React 学习之道》The Road to learn React (简体中文版) 通往 React 实战大师之旅:掌握 React 最简单,且最实用的教程。 showIm...

    oneasp 评论0 收藏0
  • HTML5行业现状与未来 - 2016年终大盘点

    摘要:行业现状与未来年终大盘点大幅动荡后,即将进入平稳期前端,在年及以前,一直处于一种萌芽期的状态当中,直至年才进入行业的成长期。 HTML5行业现状与未来 - 2016年终大盘点 1. 大幅动荡后,即将进入平稳期 HTML5(WEB前端),在2012年及以前,一直处于一种萌芽期的状态当中,直至2013年才进入行业的成长期。HTML5(WEB前端)在2013和2014年,随着行业的推动慢慢的...

    mmy123456 评论0 收藏0
  • HTML5行业现状与未来 - 2016年终大盘点

    摘要:行业现状与未来年终大盘点大幅动荡后,即将进入平稳期前端,在年及以前,一直处于一种萌芽期的状态当中,直至年才进入行业的成长期。 HTML5行业现状与未来 - 2016年终大盘点 1. 大幅动荡后,即将进入平稳期 HTML5(WEB前端),在2012年及以前,一直处于一种萌芽期的状态当中,直至2013年才进入行业的成长期。HTML5(WEB前端)在2013和2014年,随着行业的推动慢慢的...

    zone 评论0 收藏0
  • HTML5行业现状与未来 - 2016年终大盘点

    摘要:行业现状与未来年终大盘点大幅动荡后,即将进入平稳期前端,在年及以前,一直处于一种萌芽期的状态当中,直至年才进入行业的成长期。 HTML5行业现状与未来 - 2016年终大盘点 1. 大幅动荡后,即将进入平稳期 HTML5(WEB前端),在2012年及以前,一直处于一种萌芽期的状态当中,直至2013年才进入行业的成长期。HTML5(WEB前端)在2013和2014年,随着行业的推动慢慢的...

    UsherChen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<