gpt4 book ai didi

javascript - ObjectConstructor 类型上不存在属性 'entries'

转载 作者:行者123 更新时间:2023-11-29 18:54:07 33 4
gpt4 key购买 nike

我正在使用 object.entries 方法将一些 JSON 对象数据推送到一个数组中......它正在工作,但现在我收到错误:

“ObjectConstructor”类型上不存在属性“entries”。

我看了类似的问题了解到,这可能是因为我使用的 typescript 版本不支持 entries 方法,但是有替代方法吗?由于我是 typescript 的新手,所以我不太愿意更改版本等。

Object.entries(data).forEach(([key, value]) => {
this.array.push ({
id: key,
name: value.name,
desc: value.desc})
});

感谢您的任何输入/帮助:)

最佳答案

也许您使用的浏览器不支持这种新功能 Object.entries

您应该从 mdn 安装以下 “polyfill” :

if (!Object.entries)
Object.entries = function( obj ){
var ownProps = Object.keys( obj ),
i = ownProps.length,
resArray = new Array(i); // preallocate the Array
while (i--)
resArray[i] = [ownProps[i], obj[ownProps[i]]];

return resArray;
};

运行该代码后,Object.entries 应该可用于您的 javascript 运行时,它应该修复错误


另外,你可以这样写你的代码,给人一种不同的感觉

// gather the items
const items = Object.entries(data).map(([key, value]) => ({
id: key,
name: value.name,
desc: value.desc
}))

// append items to array
this.array = [...this.array, ...items]

关于javascript - ObjectConstructor 类型上不存在属性 'entries',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50143348/

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