gpt4 book ai didi

javascript - 设置任意 JavaScript 对象属性的类型

转载 作者:行者123 更新时间:2023-12-01 02:00:31 24 4
gpt4 key购买 nike

我有以下 JavaScript 对象

 venue = {
id: 0,
name: '',
venueimage_set: [
{
imageurl: '',
},

]...

然后在我的代码中我更改了对象:

 this.venue.venueimage_set[+image] = this.venue.venueimage_set[+image].imageurl;

要使图像查看器正常工作,我只需要图像的 url,而不是图像 url 所属的键。因此,我获取键中的内容并将数组位置设置为键值,即图像 url。

然后我听到了这种噪音。

mainroot/venuepage/venuepage.component.ts(171,25) 中出现错误:错误 TS2322:类型“string”无法分配给类型“{ imageurl: string;” }'。
mainroot/venuepage/venuepage.component.ts(175,127): 错误 TS2339: 类型“string”上不存在属性“imageurl”。

我希望 typescript 忽略打字,让我这样做。我会怎样?

最佳答案

这是您尝试执行的操作的类型安全版本:

function toVenue<T>({id, name, venueimage_set}: T) {
return {
id,
name,
venueImageSet: venueimage_set.map(el => el.imageurl)
};
}

设置 field 时可以使用:

const venue = toVenue({
id: 0,
name: '',
venueimage_set: [{
imageurl: '',
}]
});
<小时/>

这是不安全的版本(请不要这样做):

this.venue.venueimage_set[+image] = this.venue.venueimage_set[+image].imageurl as any;

关于javascript - 设置任意 JavaScript 对象属性的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50628989/

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