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

代码求助:创建含products数组的JSON对象无输出结果

代码错误排查与修复

我帮你一步步找出代码里的问题,并且给出对应的修复方案:

1. JSON对象语法错误

你在products数组闭合后多写了一个分号,这会直接导致JavaScript语法解析失败:

// 错误写法
var data = { "products": [{ "p_id": 111, "p_name": "p_one", "p_cost": 100 }]; };
// 正确写法:去掉数组后面的多余分号
var data = { "products": [{ "p_id": 111, "p_name": "p_one", "p_cost": 100 }] };

2. for循环语法错误

for循环的标准结构是for(初始化表达式; 条件表达式; 增量表达式),你的代码不仅用逗号替代了分号分隔,还缺失了增量部分:

// 错误写法
for (var i = 0, i < data.products.length) {
// 正确写法:用分号分隔三个表达式,添加i++作为循环增量
for (var i = 0; i < data.products.length; i++) {

3. 变量名拼写错误

你定义了存储产品价格的变量_cost,但拼接字符串时误写成了_pcost,这会触发"_pcost is not defined"的报错:

// 错误写法
results = _pid + "." + _pname + "." + _pcost + "<br>";
// 正确写法:使用正确的变量名_cost
results += _pid + "." + _pname + "." + _cost + "<br>";

4. 结果字符串覆盖问题

当前代码每次循环都会把results重置为当前产品的信息,应该用+=运算符来累加所有产品的内容:

// 错误写法:覆盖原有内容
results = _pid + "." + _pname + "." + _cost + "<br>";
// 正确写法:累加新内容到结果字符串
results += _pid + "." + _pname + "." + _cost + "<br>";

5. 未添加足够的产品对象

你提到需要包含5个产品对象,但当前products数组里只有1个,补充后完整的数组如下:

var data = {
  "products": [
    { "p_id": 111, "p_name": "p_one", "p_cost": 100 },
    { "p_id": 112, "p_name": "p_two", "p_cost": 200 },
    { "p_id": 113, "p_name": "p_three", "p_cost": 300 },
    { "p_id": 114, "p_name": "p_four", "p_cost": 400 },
    { "p_id": 115, "p_name": "p_five", "p_cost": 500 }
  ]
};

修复后的完整代码

var data = {
  "products": [
    { "p_id": 111, "p_name": "p_one", "p_cost": 100 },
    { "p_id": 112, "p_name": "p_two", "p_cost": 200 },
    { "p_id": 113, "p_name": "p_three", "p_cost": 300 },
    { "p_id": 114, "p_name": "p_four", "p_cost": 400 },
    { "p_id": 115, "p_name": "p_five", "p_cost": 500 }
  ]
};
var results = "";
for (var i = 0; i < data.products.length; i++) {
  var obj = data.products[i];
  var _pid = obj.p_id;
  var _pname = obj.p_name;
  var _cost = obj.p_cost;
  results += _pid + "." + _pname + "." + _cost + "<br>";
}
console.log(results);

运行这段代码后,你就能在控制台看到5个产品的信息累加输出了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:35:01