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

如何遍历嵌套JSON对象,用forEach获取languages数组元素的name属性

错误原因

你之前的代码不符合预期有两个核心问题:

  • 不需要遍历单个语言对象的所有属性:你要的语言名称是固定键name,直接访问langObj.name即可,不需要调用Object.entries遍历所有键值对
  • 每次循环都直接覆盖innerText的值:循环执行到最后时,只会保留最后一个语言对象最后一个属性nativeName的内容,之前的内容都会被覆盖

正确实现(forEach版本)

var popupCreateLanguagesResultTD = document.createElement("div");
popupCreateLanguagesResultTD.className = "col";
// 暂存所有语言名称
const languageNameList = [];

result.languages.forEach(langItem => {
  // 直接读取每个语言对象的name属性存入数组
  languageNameList.push(langItem.name);
});

// 拼接为要求的展示格式,用逗号分隔所有语言名
popupCreateLanguagesResultTD.innerText = `Languages Spoken: ${languageNameList.join(', ')}`;

更简洁的替代实现(无需手动写forEach)

如果不需要做额外逻辑处理,直接用map提取所有name再拼接即可,代码更精简:

var popupCreateLanguagesResultTD = document.createElement("div");
popupCreateLanguagesResultTD.className = "col";
const langStr = result.languages.map(item => item.name).join(', ');
popupCreateLanguagesResultTD.innerText = `Languages Spoken: ${langStr}`;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:45:04