php arrayiteratoer,for in 与 for of

一、用法

1.遍历数组

for in 返回数组的下标(key);for of 返回数组的元素

const arr1 = ['a', 'b', 'c'];

for (let i in arr1) {

console.log(i) // 0, 1, 2

}

const arr2 = ['a', 'b', 'c'];

for (let i of arr2) {

console.log(i) // a, b, c

}

2.给数组手动添加属性,for in 循环可以遍历出name这个键名

const arr3 = ['a', 'b'];

arr3.name = 'c';

for (let i in arr3) {

console.log(i) // 0, 1, name

}

3.直接遍历对象只能用 for in

二、

1.for in 的特点

for … in 循环返回的值都是数据结构的 键名。

遍历对象返回的对象的key值;

遍历数组返回的数组的下标(key)。

for … in 循环不仅可以遍历数字键名,还会遍历原型上的key值和手动添加的其他键;

特别情况下, for … in 循环会以任意的顺序遍历键名

2.for of 特点

for of 循环用来获取一对键值对中的值

一个数据结构只要部署了 Symbol.iterator 属性, 就被视为具有 iterator接口, 就可以使用 for of循环。

for of 循环可以随时退出循环。

for in 不是也可以跳出循环??

3.哪些数据结构部署了 Symbol.iteratoer属性了呢?

数组 Array

Map

Set

String

arguments对象

Nodelist对象, 就是获取的dom列表集合

4.想让对象可以使用 for of循环怎么办?使用 Object.keys() 获取对象的 key值集合后,再使用 for of

const obj = {a: 'x', b: 'y'};

for (let i of Object.keys(obj)) {

console.log(i) // a, b

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值