📜  for in range javascript (1)

📅  最后修改于: 2023-12-03 14:41:18.067000             🧑  作者: Mango

JavaScript中的for in循环

在JavaScript中,可以使用for in循环来遍历对象的所有属性。for in循环可以遍历对象中的所有键名,但是无法保证遍历的顺序。

以下是使用for in循环遍历数组的例子:

let arr = ["apple", "banana", "cherry"];
for(let index in arr){
  console.log(index, arr[index]);
}
//输出结果:
//0 apple
//1 banana
//2 cherry

可以看到,使用for in循环遍历数组时,index为当前数组元素的下标,arr[index]为当前元素的值。

以下是使用for in循环遍历对象的例子:

let person = {
  firstName: "John",
  lastName: "Doe",
  age: 30,
  eyeColor: "blue"
};

for(let key in person){
  console.log(key, person[key]);
}
//输出结果:
//firstName John
//lastName Doe
//age 30
//eyeColor blue

可以看到,使用for in循环遍历对象时,key为当前属性名,person[key]为当前属性值。

需要注意的是,for in循环不仅遍历对象自身的属性,还会遍历原型链上的属性。因此在遍历对象时需要使用hasOwnProperty方法来判断属性是否为对象自身的属性。

以下是使用for in循环遍历对象自身属性的例子:

let person = {
  firstName: "John",
  lastName: "Doe",
  age: 30,
  eyeColor: "blue"
};

for(let key in person){
  if(person.hasOwnProperty(key)){
    console.log(key, person[key]);
  }
}
//输出结果:
//firstName John
//lastName Doe
//age 30
//eyeColor blue

可以看到,使用hasOwnProperty方法可以避免遍历原型链上的属性。

总之,for in循环在遍历对象时非常方便,但是需要注意遍历顺序和原型链上的属性。