日常学习之——数组的操作。
先贴一张图:
image.png初始变量值:
const arr = [1,2,3,4,5,6]
先来介绍数组遍历的同学
1. js诞生之初就有了的for循环
// 支持 continue
// 下面遇到4不做任何操作继续往下执行;
for (let i = 0, len = arr.length; i < len; i++) {
if (arr[i] == 4) {
continue;
}
console.log(arr[i]) // 1 2 3 5 6
}
// 支持 brealk
// 下面遇到4调出循环,不再往下执行;
for (let i = 0, len = arr.length; i < len; i++) {
if (arr[i] == 4) {
continue;
}
console.log(arr[i]) // 1 2 3
}
2. 适合遍历伪数组和对象的 for in
// for in遍历的是数组的索引(即键名)、以及伪数组
// ps:伪数组的定义:1.不具有数组所具有的方法; 2.拥有length属性,其它属性(索引)为非负整数(对象中的索引会被当做字符串来处理,这里你可以当做是个非负整数串来理解)
for (let key in arr) {
console.log(key, arr[key])
/*
'0' 1
'1' 2
'2' 3
'3' 4
'4' 5
'5' 6
*/
}
3. 适合遍历拥有迭代器对象的集合的 for of
// for of 适用遍历数/数组对象/字符串/map/set等拥有迭代器对象的集合.但是不能遍历对象,因为没有迭代器对象.与forEach()不同的是,它可以正确响应break、continue和return语句
// for of 循环不支持普通对象,但如果你想迭代一个对象的属性,你可以用for-in循环(这也是它的本职工作)或内建的Object.keys()方法:
for (let key of arr) {
// if (key == 2) {
// break;
// }
// if (key == 3) {
// continue;
// }
console.log(key) // 1 2 3 4 5 6
}
4.单纯的遍历forEach()
// 既不能使用 break 也不能使用continue 还不能使用 return
// forEach('每次循环的值','每次循环的位置','数组本身')
arr.forEach((item, index, arr) => {
console.log(item) // 1 2 3 4 5 6
})
持续更新中……
网友评论