JS 循环遍历总结

for

  • 介绍
for 语句用于创建一个循环,它包含了三个可选的表达式,这三个表达式被包围在圆括号之中,
使用分号分隔,后跟一个用于在循环中执行的语句(通常是一个块语句)。
  • 示例
var i = 0;
for (; i < 9; i++) {
    console.log(i);
    // more statements
}

for…in

  • 介绍
1.for...in语句以任意顺序遍历一个对象的除Symbol以外的可枚举属性。
2.for ... in是为遍历对象属性而构建的,不建议与数组一起使用
3.数组可以用Array.prototype.forEach()for ... of
需要检查其中的任何键是否为某值的情况时,推荐用for ... in4.如果你只要考虑对象本身的属性,而不是它的原型,
那么使用 getOwnPropertyNames() 或执行 hasOwnProperty() 来确定某属性是否是对象本身的属性
(也能使用propertyIsEnumerable)
  • 语法
for (variable in object)
  statement
  • 示例
var triangle = {a: 1, b: 2, c: 3};

function ColoredTriangle() {
  this.color = 'red';
}

ColoredTriangle.prototype = triangle;

var obj = new ColoredTriangle();

for (var prop in obj) {
  if (obj.hasOwnProperty(prop)) {
    console.log(`obj.${prop} = ${obj[prop]}`);
  } 
}

// Output:
// "obj.color = red"

for…of

  • 介绍
1.for...of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句
2.可以遍历Array
3.可以遍历Map,Set,arguments对象,dom对象
4.对于for...of的循环,可以由break, throw  continuereturn终止。

//for..in for...of 区别
for...in 语句以任意顺序迭代对象的可枚举属性。
for...of 语句遍历可迭代对象定义要迭代的数据。
  • 示例
  1. 迭代数组
let iterable = [10, 20, 30];

for (let value of iterable) {
    value += 1;
    console.log(value);
}
// 11 // 21 // 31
  1. 迭代String
let iterable = "boo";

for (let value of iterable) {
  console.log(value);
}
// "b" // "o" // "o"
  1. 迭代Map
let iterable = new Map([["a", 1], ["b", 2], ["c", 3]]);

for (let entry of iterable) {
  console.log(entry);
}
// ["a", 1]
// ["b", 2]
// ["c", 3]

for (let [key, value] of iterable) {
  console.log(value);
}
// 1
// 2
// 3
  1. 迭代Set
let iterable = new Set([1, 1, 2, 2, 3, 3]);

for (let value of iterable) {
  console.log(value);
}
// 1
// 2
// 3
  1. arguments对象
(function() {
  for (let argument of arguments) {
    console.log(argument);
  }
})(1, 2, 3);

// 1
// 2
// 3

forEach

forEach 是Array原型上的方法
循环不可中止
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值