1
我正在解析一个excel文件,它有7列和超过300k行。Javascript对象创建 - 创建多个对象
我需要创建对象(Nodejs端)并在数据库中进行批量插入。
我想知道为此目的创建大量对象的最佳方法是什么。
我想出了三种方法,并且不知道哪一个会是窝在速度和内存方面:
第一:
var bulkObjects = [];
worksheet.eachRow({includeEmpty: true}, function (row, rowNumber) {
var currentObject = createRowObject(row.values);
bulkObjects.push(currentObject);
});
function createRowObject(row) {
return {
Row1: row[1],
Row2: row[2],
Row3: row[3],
Row4: row[4],
Row5: row[5],
Row6: row[6]
}
}
二:
var bulkObjects = [];
worksheet.eachRow({includeEmpty: true}, function (row, rowNumber) {
var currentObject = **new** createRowObject(row.values);
bulkObjects.push(currentObject);
});
function createRowObject(row) {
this.Row1: row[1],
this.Row2: row[2],
this.Row3: row[3],
this.Row4: row[4],
this.Row5: row[5],
this.Row6: row[6]
}
第三种:
var bulkObjects = [];
worksheet.eachRow({includeEmpty: true}, function (row, rowNumber) {
var currentObject = createRowObject(row.values);
bulkObjects.push(currentObject);
});
function createRowObject(row) {
var o = new Object();
o["Row1"] = row[1];
o["Row2"] = row[2];
o["Row3"] = row[3];
o["Row4"] = row[4];
o["Row5"] = row[5];
o["Row6"] = row[6];
return o;
}
哪一个最适合创建大量对象。有没有另一种方法?
你为什么不建立一个测试与性能分析JavaScript性能检查? –
可能的重复[哪种方式最适合在javascript中创建对象?在变量的对象之前必须是“var”](http://stackoverflow.com/questions/6843951/which-way-is-best-for-creating-an-object-in-javascript-is-var-necessary- befor) –
如果内存是一个问题,最好的办法是做批量bulkObjects的多次插入,而不是一次全部完成,因此所有已经插入的对象都可以被垃圾收集。关于对象的创建,由于对象上没有方法,所有3个方法应该以相同的速度运行,所以请选择更简单的方法。您甚至可以通过删除函数调用并直接推送对象来简化它。 – Shilly