【问题标题】:Object.defineProperty doesn't return Object.entries [duplicate]Object.defineProperty 不返回 Object.entries [重复]
【发布时间】:2022-01-14 16:48:40
【问题描述】:

为什么两个对象都在控制台中返回,但只有第一个有条目?

let obj1 = {
  1: 1,
  2: 2
}

let obj2 = {}

for (let i = 0; i < 2; i++) {
  Object.defineProperty(obj2, i, {
    value: i
  })
}

console.log(obj1);
console.log(Object.entries(obj1));

console.log(obj2);
console.log(Object.entries(obj2));

【问题讨论】:

标签: javascript


【解决方案1】:

提供选项enumerable: true,以便枚举新属性。

let obj1 = {
  1: 1,
  2: 2
}

let obj2 = {}

for (let i = 0; i < 2; i++) {
  Object.defineProperty(obj2, i, {
    value: i,
    enumerable: true,
  })
}

console.log(obj1);
console.log(Object.entries(obj1));

console.log(obj2);
console.log(Object.entries(obj2));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 2021-07-08
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多