javascript 为什么不将我的属性视为数组的一部分?[duplicate]

5jvtdoz2  于 2023-01-19  发布在  Java
关注(0)|答案(1)|浏览(113)
    • 此问题在此处已有答案**:

Why for..of does not see non-numeric array indexes?(1个答案)
How can JavaScript arrays have non-numeric keys?(2个答案)
I can't iterate over a javascript array [duplicate](1个答案)
13小时前关门了。
我在检查一个数组内的函数时,发现this.relative位于数组内,它出现在数组内,但当我检查数组时,length没有改变,似乎数组没有将this.relative视为其数组的一部分。那么,为什么数组没有将this.relative视为其数组的一部分,而是将其显示在数组内呢?

const a = [
  1,
  2,
  function lome() {
    this.relative = "jim";
  },
  4,
];
a[2]();
for (let i of a) {
  console.log(i);
}
console.log(a);
fykwrbwg

fykwrbwg1#

for ... of循环迭代数组的元素,因此它只考虑数值属性(索引)。请改用for ... in循环遍历所有属性。

const a=[1,2,function lome(){this.relative="jim"},4];
a[2]();
for(const key in a){
  console.log(key, '=', a[key])
}
console.log('length is', a.length);

相关问题