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

jQuery循环中通过数组键值取值失败,直接调用数组却正常的问题

问题分析与解决

你遇到的问题核心是对变量作用域和对象属性的误解:dns_types是独立于data数组的外部变量,并不是data数组中每个元素的属性。

  • 当你写data[i].dns_types[ data[i].type ]时,代码会尝试去data的第i个元素里查找名为dns_types的属性,但你的data元素根本没有这个属性,所以无法返回正确值。
  • 而直接使用dns_types[ data[i].type ]是正确的,因为你直接访问了外部的dns_types变量,再用data[i].type作为键去匹配对应的值。

修正后的代码示例

只需要把循环内的错误代码替换为正确的写法即可:

// 假设你的循环逻辑如下
for (var i = 0; i < data.length; i++) {
  // 正确获取指定键对应的值
  var targetValue = dns_types[ data[i].type ];
  // 这里可以添加后续使用targetValue的逻辑
  console.log(targetValue);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 20:04:59