ES6(简易版): Set,Map 数据结构,(for in) (for of) 区别

ES6 新增加了一些方法,执行在浏览器业务上很少用到,也不支持啊,只能用Babel编译, Node可能会用到。 原来看了老忘,确实用的场景不多,刚刚看见面试题中,写除去数组中相同的数字发现Set可以办到。

“set”单词有“一套”意思

   var arr = [1,2,3,4,5,6,7,7]
   var set = new Set(arr)//由arr转换成set
   arr = [...set] //由set用...解构赋值为arr
   console.log(arr)
  //输出 [1,2,3,4,5,6,7]
  //所以Set和数组没什么区别, 就是有特殊功能:除去重复成员
  //注意点 set.size 是获取长度,arr.length不一样。

“Map”翻译 映射

var map = new Map([
  ['name', '张三'],
  ['title', 'Author']
]);

map.size ;// 2
map.get('name'); // "张三"
map.get('title') ;// "Author"
map.set('name', '李四');//会覆盖掉张三
map.get('name') ;//李四
//相当于一个key不会重复的字典,

“in” 翻译 “表示位置,在...内”, “of”翻译 “属于”

//(for in) (for of)  in的遍历key,of遍历value
var arr = ['a', 'b', 'c', 'd'];
for (let a in arr) {
  console.log(a); // 0 1 2 3
}
for (let a of arr) {
  console.log(a); // a b c d
}

自己学习总结,如有错误,请提议。
参考阮一峰:http://es6.ruanyifeng.com/
个人博客: www.liangtongzhuo.com

你可能感兴趣的:(ES6(简易版): Set,Map 数据结构,(for in) (for of) 区别)