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

求助:如何为JavaScript数组的details对象添加AverageTimeSpent变量?

如何给JavaScript数组中的details对象添加AverageTimeSpent属性

看起来你在给卡车数据的details对象添加AverageTimeSpent属性时遇到了几个语法和逻辑问题,我帮你梳理并修正了代码,一起来看看:

原代码的主要问题

  • 语法错误:你的Truck_data数组里存在缺失逗号的问题,导致数组无法正确解析
  • 循环访问错误:外层循环遍历Truck_data时,应该通过Truck_data[j].details访问对应日期的details数组,而不是直接用Truck_data.details;另外循环变量的使用也有混淆(比如先console.log(i)但i还没定义)
  • 属性添加方式错误:details里的每一项是对象,不是数组,不能用push方法添加属性,应该直接给对象赋值

修正后的完整代码

// 修正语法错误后的原始数据
var Truck_data = [
  {
    date: "15/12/19",
    details: [
      { driver_name: "ram", truck_number: "KA 03 2132", distance_travelled: 50, orders_delivered: 45, orders_missed: 10 },
      { driver_name: "raju", truck_number: "KA 03 2354", distance_travelled: 30, orders_delivered: 15, orders_missed: 1 }
    ]
  },
  {
    date: "12/12/19",
    details: [
      { driver_name: "ram", truck_number: "KA 03 2132", distance_travelled: 50, orders_delivered: 65, orders_missed: 20 },
      { driver_name: "raju", truck_number: "KA 03 2354", distance_travelled: 30, orders_delivered: 65, orders_missed: 34 }
    ]
  }
];

// 遍历每个日期的数据
for (var j = 0; j < Truck_data.length; j++) {
  // 获取当前日期对应的details数组
  var detailsArray = Truck_data[j].details;
  // 遍历每个司机的详情对象
  for (var i = 0; i < detailsArray.length; i++) {
    // 生成随机的平均耗时(你可以替换成实际计算逻辑)
    var avgTime = Math.random() * 100;
    // 给当前司机对象添加AverageTimeSpent属性
    detailsArray[i].AverageTimeSpent = avgTime;
  }
}

// 打印验证结果
console.log(Truck_data);

关键修改点说明

  1. 修复数组语法:给每个对象之间、details数组里的每个对象都补上了逗号,确保数组能被JavaScript正确解析
  2. 优化循环逻辑:改用普通的for循环(也可以用更简洁的forEach),明确访问每个日期下的details数组,避免了变量混淆的问题
  3. 正确添加属性:直接给details里的每个对象赋值AverageTimeSpent属性——因为对象是引用类型,修改后会直接反映到原数组中

更简洁的forEach写法(现代JavaScript风格)

如果你更倾向于使用更简洁、易读的写法,可以用forEach遍历数组:

Truck_data.forEach(dayData => {
  dayData.details.forEach(driverDetails => {
    // 这里可以替换成你的实际平均耗时计算逻辑
    driverDetails.AverageTimeSpent = Math.random() * 100;
  });
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:08:24