关于Javascript forEach:Javascript forEach – 如何循环对象?

Javascript forEach - how to loop an object?

本问题已经有最佳答案,请猛点这里访问。

如何使用foreach循环对象?

例如:

1
2
3
4
5
6
7
var dataset = {
   "data" : {
       "particles" : {},
       "no2" : {},
       "timestamp" : {}
    }
};

JS:

1
2
3
dataset.data.forEach(function(field, index) {
    console.log(field);
});

错误:

Uncaught TypeError: dataset.data.forEach is not a function

有什么想法吗?


你需要用一个for循环来代替。for offor in是很好的候选者。.forEach不会在这里工作……

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const dataset = {
   "data" : {
       "particles" : {},
       "no2" : {},
       "timestamp" : {}
    }
};

// for in
for (const record in dataset.data) {
  if (dataset.data[record]) {
    console.log(record);
  }
}

// for of
for (const record of Object.keys(dataset.data)) {
  if (record) {
    console.log(record);
  }
}

如果你想要更具体的东西,你可能需要做一些额外的工作或者提供一个更好的解释来解释你要解决的问题。