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

如何正确遍历嵌套数组,输出每个对象的Number属性值?

解决数组遍历输出Number值的问题

我来帮你梳理下问题所在,然后给出可行的解决方案:

你的代码存在两个关键问题:

  1. 外层循环范围不足:你写的i < 3只会遍历前3个子数组,而你的Sonuc数组一共有5个子元素,这样会漏掉后面的两个数组内容。
  2. 内层遍历方式错误:for...in是用来遍历对象的键名的,当你用它遍历数组时,拿到的是数组的索引(比如"0"、"1"这类字符串),而不是数组里的对象,所以obj.Number自然无法获取到正确的属性值。

几种正确的实现方式:

方式1:嵌套for循环(兼容性最好)

var Sonuc = [[{"ID":8,"Number":"1","Name":"Ahmet"}], [{"ID":7,"Number":"2","Name":"Semih"}], [{"ID":6,"Number":"3","Name":"Derviş"}], [{"ID":8,"Number":"4","Name":"Derviş"},{"ID":9,"Number":"4","Name":"Veli"}], [{"ID":11,"Number":"44","Name":"Zeki"},{"ID":45,"Number":"44","Name":"Veli"}]];

// 外层遍历Sonuc的所有子数组
for (var i = 0; i < Sonuc.length; i++) {
  var subArray = Sonuc[i];
  // 内层遍历子数组里的每个对象
  for (var j = 0; j < subArray.length; j++) {
    console.log(subArray[j].Number);
  }
}

方式2:forEach方法(代码更简洁)

Sonuc.forEach(subArray => {
  subArray.forEach(obj => {
    console.log(obj.Number);
  });
});

方式3:ES6 for...of循环(语法更直观)

for (const subArray of Sonuc) {
  for (const obj of subArray) {
    console.log(obj.Number);
  }
}

以上三种方式都能正确输出每个对象的Number值到控制台,你可以根据自己的代码环境选择合适的写法~

内容的提问来源于stack exchange,提问作者tgrl-66

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:20:09