for,forEach, for in, for of , map区别
1.for 可以加break return continue
2.forEach不能加 break return continue
可以改变原数组,需要通过索引方式
//数组-基本数据类型
let array = [1,2,3,4];
array.forEach((num,index) => {
if(num === 4){
array[index]= 5
}
})
console.log(array) //[1,2,3,5]
3.map 只能遍历数组,默认有返回值
var arr = [‘星期一’, ‘星期二’, ‘星期三’];
var a = arr.map(function(item){
console.log(item)
return item === ‘星期二’
})
console.log(a)
3.for in会遍历原型链数据
var arr = [“星期一”,“星期二”,“星期三”];
Array.prototype.something = [“放假”,“休息咯”];
for (var i in arr){ // i是下标(索引)
console.log(arr[i])
}
for in 遍历对象的key值,和数组下标
var obj ={“a”:1,“b”:2,“c”:3}
for (let i in obj){
console.log(obj[i])
}
// 1
// 2
// 3
4.for of遍历迭代器的值。如:
const iterable = new Set([1, 1, 2, 2, 3, 3]);
for (const value of iterable) {
console.log(value);
}
// 1
// 2
// 3
const iterable = ‘boo’;
for (const value of iterable) {
console.log(value);
}
// “b”
// “o”
// “o”
const iterable = new Map([[‘a’, 1], [‘b’, 2], [‘c’, 3]]);
for (const entry of iterable) {
console.log(entry);
}
// [‘a’, 1]
// [‘b’, 2]
// [‘c’, 3]
for (const [key, value] of iterable) {
console.log(value);
}
// 1
// 2
// 3
本文详细介绍了JavaScript中五种常用的循环方法:for、forEach、for...in、for...of及map的区别与用法。for循环支持break、return和continue;forEach无法使用这些语句,但可通过索引修改原数组;map用于遍历数组并默认返回新数组;for...in用于遍历对象属性和原型链;for...of则用于遍历可迭代对象。
4058

被折叠的 条评论
为什么被折叠?



