为什么我对数据的处理,打印出questionTypes的结果是多条一模一样的对象数据
时间: 2024-02-27 13:54:47 浏览: 19
如果您得到的 `questionTypes` 数组中包含多个相同的对象,原因可能是因为您在循环中多次向 `questionTypes` 数组中添加了相同的题型说明。在您的代码中,您正在遍历题目列表,并将每个题目的题型说明添加到 `questionTypes` 数组中。如果两个题目具有相同的题型说明,您将向数组中添加两个相同的对象。
为了避免这种情况,您可以在将题型说明添加到 `questionTypes` 数组之前,先检查这个题型说明是否已经存在于数组中。如果是,则不要将其添加到数组中。您可以使用 JavaScript 的 `Array.prototype.includes()` 方法来检查数组中是否已经包含了某个元素。例如:
```
const questionTypes = [];
this.PDFTiInfo.exam.Tilist.forEach((types) => {
types.TiAreaList.forEach((item) => {
let tiType = '';
if (item.ExtType == 0) {
if (item.Type == 1) {
tiType = '客观题';
} else {
tiType = '主观题';
}
} else if (item.ExtType == 1) {
tiType = '单选题';
} else if (item.ExtType == 2) {
tiType = '多选题';
} else if (item.ExtType == 3) {
tiType = '判断题';
}
// 检查数组中是否已经包含了这个题型说明
if (!questionTypes.includes(tiType)) {
questionTypes.push(tiType);
}
});
});
console.log(questionTypes);
```
这将确保 `questionTypes` 数组中不会包含相同的题型说明。