You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何JavaScript中in关键字未按预期工作?货币检测遇异常

问题原因与解决方法

你遇到的问题是因为Object.keys(currencies)返回的是数组,而in操作符在数组中检查的是索引(比如"0"、"1"这类字符串键),不是数组里的元素值。所以"JPY"作为元素,自然不会被in检测到。

以下是几种可行的解决方式:

  • 直接在原对象上使用in操作符(无需转换为数组):
console.log("JPY" in currencies); // true
  • 用Array.includes()检查数组中的元素:
const currencyNames = Object.keys(currencies);
console.log(currencyNames.includes("JPY")); // true
  • 更安全的方式:使用Object.hasOwn()(避免误判原型链上的属性):
console.log(Object.hasOwn(currencies, "JPY")); // true

内容的提问来源于stack exchange,提问作者Nuray Ganb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:50:18