iterable----ES6新增的类型

ES6新增类型 iterable

iterable是es6新增的类型,iterable类型的数据有,Array,Set,Map,Set和Map是es6新增的数据类型,

Array:数组,有序的元素序列

Set:ES6新增的数据结构,类似于数组,区别在于Set没有索引,并且Set中的元素都是唯一的

Map:ES6新增的数据结构,类似于对象,区别在于普通对象的key必须是字符串或者数字,而Map的key可以是任何数据类型

1.Set

1.1Set允许存储任何类型的唯一值,它类似于数组,但是成员的值都是唯一的,没有重复的值

1.2Set构造函数可以接受一个数组或者一个可iterable的数据类型作为参数,用来进行初始化

let set = new Set([1,2,3,4,5,1,{name:'lerry',age:22},['apple','bananas']])

在这里插入图片描述

1.3实例方法

size() 获取实集合中对象的个数

add(value) 向集合中添加一个对象value

delete(value) 删除集合中的一个对象value

has(value) 判断集合中是否包含对象value,包含返回true,不包含返回false

clear() 清空集合

keys() 获取到遍历key的迭代器对象

values() 获取到遍历values的迭代器对象

entries() 获取到遍历key-value的迭代器对象

forEach() 与数组的用法类似

let set = new Set([1,2,3,4,5])
console.log(set);//Set(5) { 1, 2, 3, 4, 5 }
console.log(set.size);//5
set.add(6)
console.log(set);//Set(6) { 1, 2, 3, 4, 5, 6 }
set.delete(5)
console.log(set);//Set(4) { 1, 2, 3, 4 }
console.log(set.has(1));//true
set.clear()
console.log(set);//Set(0) {}
console.log(set.keys());//[Set Iterator] { 1, 2, 3, 4, 5 }
console.log(set.values());//[Set Iterator] { 1, 2, 3, 4, 5 }
console.log(set.entries());//[Set Entries] { [ 1, 1 ], [ 2, 2 ], [ 3, 3 ], [ 4, 4 ], [ 5, 5 ] }
set.forEach((item,index) => {
    console.log(item + '---' + index);
})
// 1---1
// 2---2
// 3---3
// 4---4
// 5---5

2、Map

2.1Map 数据类型。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串和数字,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应, Map 结构提供了“值—值”的对应,是⼀种更完善的 Hash 结构实现。如果你需要“键值对”的数 据结构,Map ⽐ Object 更合适。

let map = new Map([['name', '张三'], ['age', 12]]); //构建一个Map集合
console.log(map);//Map(2) { 'name' => '张三', 'age' => 12 }
// 获取map集合的键值对的个数
console.log(map.size);//2
// 给map集合设置键值对
map.set('gengder','nan')
console.log(map);
// get(key)通过key获取values
console.log(map.get('name'));
// has(key)判断集合中是否包含key指定的键
console.log(map.has('age'));
console.log(map.has('month'));
// delete(key)通过key删除⼀个键值对
map.delete('age')
console.log(map);
// clear()清空map集合
map.clear()
console.log(map);

// keys()获取遍历键的迭代器对象
console.log(map.keys());
// values()获取遍历值的迭代器对象
console.log(map.values());
// entries()获取遍历键值的迭代器·对象
console.log(map.entries());
map.forEach((item,index) => {
    console.log(item + '----' + index);
})

2.2实例方法

size()获取map集合的键值对的个数

set(key,value) 设置map集合中的价值对

delete(key)删除集合中参数对应的键值对

get(key)通过key获取value

has(key),判断集合中是否有对应的键值对,返回布尔值

clear()清空集合

keys()获取遍历集合中键的迭代器对象

values()获取遍历集合中值的迭代器对象

entries()获取遍历集合中键值对的迭代器对象

forEach()跟数组,set的用法一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值