gpt4 book ai didi

javascript - 如何使用for of循环获取对象的值

转载 作者:太空宇宙 更新时间:2023-11-03 23:47:43 27 4
gpt4 key购买 nike

我正在尝试使用 normalize-url在我的代码中:

socialfields 是我使用 for...of 循环转换为数组的对象。 Socialfields 键的值是社交媒体的 URL例如:

{
youtube: 'youtube.com/peoray',
facebook: 'facebook.com/peoray',
twitter: 'twitter.com/peoray',
}

所以我尝试在链接上使用normalize-url。但这不起作用。我收到的错误是 TypeError: Cannot read property 'length' of undefined.

这是代码:

for (const [key, value] of Object.entries(socialfields)) {
if (value.length > 0)
socialfields[key] = normalize(value, {
forceHttps: true
});
}

最佳答案

您不必执行 if (value.length > 0) - 以下内容应该没问题: if (value) 或者如果您确实想要 if (value && value.length > 0) - 发生这种情况是因为 null 对象/变量上不存在 .length 属性。

这就是你应该做的:

for (const [key, value] of Object.entries(socialfields)) {
if (value) socialfields[key] = normalize(value, { forceHttps: true });
}

如果你想变得“花哨”,你可以使用 ternary operator .. 我仍然认为 if (value) ... 是最好的方法。

for (const [key, value] of Object.entries(socialfields)) {
value ? socialfields[key] = normalize(value, { forceHttps: true }) : '';
}

关于javascript - 如何使用for of循环获取对象的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60460553/

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