gpt4 book ai didi

javascript - 如何解构键名为数字的对象?

转载 作者:行者123 更新时间:2023-11-30 06:25:23 25 4
gpt4 key购买 nike

我有需要在组件中解构的 Prop 。由于它来自 API,它实际上是一个对象,我想从中获取对象从 0 到 39。但是,当我尝试以这种方式解构它们时:

 const { 0, ...39: weatherData } = this.props;

由于逗号,VSCode 给我一个意外标记的错误。如何在不必枚举每个对象的情况下解构 Prop ?

最佳答案

在 javascript 中,即使您使用 number 作为键创建对象,键也始终是字符串,请看以下示例:

const obj = {
[1]: 1,
anotherThing: 2
};

console.log(Object.keys(obj))

但是,由于 '1'1 是文字,因此无法在解构赋值中使用它们,为了使用您必须转换的数字键您的对象 iterable 或手动映射属性,

将对象转换为可迭代对象的最简单方法是对数组使用 Object.assign,因为数组也是一个对象,您可以执行以下操作:

const arr = Object.assign([], obj);

为了实现你的目的,像这样:

const obj = {
[0]: 0,
[1]: 1,
wheaterData: 'wheaterData',
anotherNonNumericProp: '1'
};

const arrOfNumericProps = Object.assign([], obj);

const [prop0, prop1] = arrOfNumericProps;

const {wheaterData,
...rest
} = arrOfNumericProps;

console.log(prop0);
console.log(prop1);

console.log(wheaterData);
console.log(rest);

关于javascript - 如何解构键名为数字的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50802403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com