我在nodejs中有以下类:
let id;
let totalCalls;
let totalMinutes;
class callVolume {
constructor(id){
this.id = id;
this.totalCalls = 0;
this.totalMinutes = 0;
}
}
module.exports = callVolume;
在我的 callService.js 文件中,我导入此类,如果我使用构造函数创建一个对象:
const callVolume = require('./callVolume');
let call = new callVolume(1);
如果我控制台日志调用对象,它会显示:
callVolume {
"id": 1,
"totalCalls" : 0,
"totalMinutes" : 0
}
如果有一个列表,它会不断重复类名 callVolume:
[callVolume {
"id": 1,
"totalCalls" : 0,
"totalMinutes" : 0
},
callVolume {
"id": 1,
"totalCalls" : 0,
"totalMinutes" : 0
}]
我什至不知道为什么会显示这个,有什么办法可以删除它。我想要这样的东西:
[{
"id": 1,
"totalCalls" : 0,
"totalMinutes" : 0
},
{
"id": 1,
"totalCalls" : 0,
"totalMinutes" : 0
}]
我编写的用于比较两个对象列表的方法:
const compareJsonObjects = function(firstList, secondList) {
if(firstList.length != secondList.length) return false
else {
for(i = 0; i<firstList.length; i++) {
if(firstList[i].id != secondList[i].id) return false;
if(firstList[i].totalCalls != secondList[i].totalCalls) return false;
if(firstList[i].totalMinutes != secondList[i].totalMinutes) return false;
}
return true;
}
最佳答案
这只是调试器通知您对象的类型,或者更确切地说它源自哪个类。如果您希望它只是一个纯对象,而没有指向该类的构造函数属性,则可以使用 Object.assign
。
let call = Object.assign({}, new callVolume(1));
这将制作一个裸副本并将值从类实例传输到对象中。
关于javascript - 从 JSON 对象列表中删除对象类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54175374/