JavaScript循环遍历

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 ... inArray的循环得到的是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);
});

SetArray相似,但Set没有索引, 因此回调函数的前两个参数都是元素本身。
Map的回调函数参数依次为valuekeymap本身。

你可能感兴趣的:(JavaScript循环遍历)