我有一个对象数组,例如(在chrome控制台输出下面。)
[]
0: SRB {codiceSito: "I019GR", isFintoCamino: false, isFintoAlbero: false, regione: "TOSCANA"}
1: SRB {codiceSito: "I374NA", isFintoCamino: true, isFintoAlbero: false, regione: "Campania"}
2: SRB {codiceSito: "I288NA", isFintoCamino: false, isFintoAlbero: false, regione: "Campania"}
3: SRB {codiceSito: "I403NA", isFintoCamino: true, isFintoAlbero: false, regione: "CAMPANIA"}
...
所有这些对象都是使用此构造函数创建的
class SRB {
constructor(codiceSito, isFintoCamino, isFintoAlbero, regione) {
this.codiceSito = codiceSito;
this.isFintoCamino = isFintoCamino
this.isFintoAlbero = isFintoAlbero
this.regione = regione
// this.comune = comune
// this.versioneModello = versMod
}
}
,并在创建它们各自之后,将其推入一个空数组list_SRB = []
现在,如果我在Chrome控制台中输入
以list_SRB[2]
为例,我得到了预期的结果:
SRB {codiceSito: "I288NA", isFintoCamino: false, isFintoAlbero: false, regione: "Campania"}
相反,如果我使用for循环遍历它,则会得到未定义的...:/
因此,我想知道如何遍历此数组并获取每个属性-值,以便将它们“打印”在HTML表格上。
每一个线索都比不受欢迎:D
很抱歉,我之前没有发布所有代码,请在下面进行检查:
function handleFileSelect(evt) {
// SRB constructor
class SRB {
constructor(codiceSito, isFintoCamino, isFintoAlbero, regione) {
this.codiceSito = codiceSito;
this.isFintoCamino = isFintoCamino
this.isFintoAlbero = isFintoAlbero
this.regione = regione
// this.comune = comune
// this.versioneModello = versMod
}
}
var files = evt.target.files
// loop through all uploaded files (TXT-like files)
for (var i = 0; i < files.length; i++) {
var file = files[i]
var fileName = file.name
if (fileName.endsWith(".ifc")) {
list_fileNames.push(file.name)
list_SRB_count++
// read the IFC as txt file
var reader = new FileReader()
reader.onload = function (e) {
var contents = e.target.result
// create regex searches for all data
var regEx_codiceSito = /(codice sito',\$,IFCTEXT\('([a-zA-Z\d]{6}))/g
var codiceSito = regEx_codiceSito.exec(contents)
if (codiceSito) {
codiceSito = codiceSito[2]
} else {
codiceSito = "dato non disponibile"
}
var regEx_fintoCamino = /resina/gi
var isFintoCamino = regEx_fintoCamino.exec(contents)
if (isFintoCamino) {
isFintoCamino = true
list_SRB_fintoCamino.push(codiceSito)
} else {
isFintoCamino = false
}
var regEx_fintoAlbero = /((IFCTEXT\('vedetaz)|(IFCTEXT\('vegetaz))/gi
var isFintoAlbero = regEx_fintoAlbero.exec(contents)
if (isFintoAlbero) {
isFintoAlbero = true
list_SRB_fintoAlbero.push(codiceSito)
} else {
isFintoAlbero = false
}
var regEx_regione = /(regione',\$,IFCTEXT\('([a-zA-Z]{2,25}))/g
var regione = regEx_regione.exec(contents)
if (regione) {
regione = regione[2]
} else {
regione = "dato non disponibile"
}
// create the SRB obj
var thisSRB = new SRB(codiceSito, isFintoCamino, isFintoAlbero, regione)
// push the obj to the SRB list
list_SRB.push(thisSRB)
// now loop through the SRB list and log the results
for (var n = 0; n < list_SRB_count; n++) {
console.log(SRB) // logs correctly the entire list
console.log(SRB[n]) // logs undefined
}
}
reader.readAsText(file)
countFile_Accepted++
} else {
countFile_NotAccepted++
}
}
}