for 家族

for in

遍历 对象

=> 成员名可以访问当对象里面的每一个数据

=> 所有的名字不一定存在规律

+ 我们有一个叫做 for in 的循环

=> 大部分时候用来遍历对象的

=> 语法:

for (var 变量 in 对象) {

重复执行的代码

}

-> 根据对象内有多少个成员执行多少回

-> 循环的每一次, key 分别是对象的成员名称(字符串类型)

forEach()

=> 语法: 数组.forEach(function (item, index, arr) {})

-> item: 数组得每一项

-> index: 数组每一项得索引

-> arr: 原始数组

=> 作用: 取代 for 循环得作用, 遍历数组

=> 没有返回值

// var arr = ['hello', 'world', '你好', '世界']

// var res = arr.forEach(function (item, index, arr) {

// // 这个函数, 会根据数组里面有多少个数据执行多少回

// // console.log('我执行了')

// // 这个函数每一次执行得时候, item 分别是数组里面得每一项

// // 这个函数每一次执行得时候, index 分别是数组里面得每一项得索引

// // 这个函数每一次执行得时候, arr 每一次都是原始数组

// console.log(item, '-----', index, '-----', arr)

// })

map()

=> 语法: 数组.map(function (item, index, arr) {})

-> item: 数组得每一项

-> index: 数组每一项得索引

-> arr: 原始数组

=> 作用: 映射数组

=> 返回值: 是一个新的数组

-> 里面是对原始数组每一个数据得操作

-> 返回值数组, 一定和原始数组长度一样

=> 不改变原始数组

for of

Set数据结构没有索引 没有key 可以用for of 遍历

=> 遍历数据 map 结构  需要解构赋值

=> 遍历出来的是里面每一个内容 key 和 value

for (let [key, value] of m) {

// console.log(key, '-----', value)

for-of 更适合迭代器,而for-in更适合遍历对象属性

ES6 同时提供了 Symbol.iterator 属性,只要一个数据结构有这个属性,就会被视为有 Iterator 接口,接着就是如何实现这个接口了,仔细看一下发现就会发现 Symbol.iterator 接口其实是一个 Generator 函数

把 yield 后面的东西当作返回值 并带一个状态 false 结束为true

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值