for循环
for (var i = 0; i < 100; i++)
{
//to do something
}
for ... in循环
var p = {
name: 'will',
age: 18,
city: 'Beijing'
};
for (var key in p)
{
console.log(key);
console.log(p[key]);
}
for ... in
对Array
的循环得到的是String
而不是Number
。
iterable类型遍历
for ... of循环
var a = ['A', 'B', 'C'];
var s = new Set(['A', 'B', 'C']);
var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
for (var x of a)
{
console.log(x);
}
for (var x of s)
{
console.log(x)
}
for (var x of m)
{
console.log(x)
}
forEach
var a = ['A', 'B', 'C'];
a.forEach(function (element, index, array){
// element: 指向当前元素的值
// index: 指向当前索引
// array: 指向Array对象本身
console.log(element + ', index = ' + index + ',array = ' + array);
});
Set
与Array
相似,但Set
没有索引, 因此回调函数的前两个参数都是元素本身。
Map
的回调函数参数依次为value
、key
和map
本身。
网友评论