有没有一种方法可以遍历每个Oracle endpnt数组并将字符串解析为数字,同时仍然保持Oracle endpnt数组的顺序。
代码
var oracleTitle= ['oracle1','oracle2','oracle3','oracle4']
var oracleEndpnt = [['1','3'],['1','2'],['1','3'],[]]
function Oracle(name, endpnt) {
this.name = name;
this.endpnt = endpnt
}
var oracles = []
for(var i=0;i<oracleTitle.length;i++) {
oracles.push(new Oracle(oracleTitle[i],oracleEndpnt[i]))
}
console.log(oracles)结果
[
Oracle { name: 'oracle1', endpnt: [ '1', '3' ] },
Oracle { name: 'oracle2', endpnt: [ '1', '2' ] },
Oracle { name: 'oracle3', endpnt: [ '1', '3' ] },
Oracle { name: 'oracle4', endpnt: [] }
]发布于 2020-11-14 04:36:24
如果不想更改所有代码,可以为第二个数组运行一个map
var oracleTitle= ['oracle1','oracle2','oracle3','oracle4']
var oracleEndpnt = [['1','3'],['1','2'],['1','3'],[]]
function Oracle(name, endpnt) {
this.name = name;
this.endpnt = endpnt
}
var oracles = []
for(var i=0;i<oracleTitle.length;i++) {
// Change this part
oracles.push(new Oracle(oracleTitle[i],oracleEndpnt[i].map(num => parseInt(num))));
}
console.log(oracles)发布于 2020-11-14 04:33:14
如果我理解正确的话,应该这样做:
var oracles = [
{ name: 'oracle1', endpnt: [ '1', '3' ] },
{ name: 'oracle2', endpnt: [ '1', '2' ] },
{ name: 'oracle3', endpnt: [ '1', '3' ] },
{ name: 'oracle4', endpnt: [] }
]
var r = oracles.map(x => {
x.endpnt = x.endpnt.map(z => Number(z))
return x
})
console.log(r)
发布于 2020-11-14 23:18:16
var oracleTitle= ['oracle1','oracle2','oracle3','oracle4']
var oracleEndpnt = [['1','3'],['1','2'],['1','3'],[]]
function Oracle(name, endpnt) { this.name = name; this.endpnt = endpnt }
var oracles = oracleTitle.map((s, i) => new Oracle(s, oracleEndpnt[i].map(Number)))
console.log( JSON.stringify(oracles) )
https://stackoverflow.com/questions/64827578
复制相似问题