为了避免javascript堆问题,我使用多个数组:family1,family2,family3 ...,dogs1,dogs2,dogs3 ...使用示例:'family1和dogs1',或'family132和dogs132'来创建一个新阵列'结果'。
如何正确传递“id”
let id = 'value here'
this.family + id
this.dogs + id
到目前为止,我的str本身被推入新数组:t-h-i-s -.- f-a-m-i-l-y-1
for (let i = +0; i < +20; i++) {
const id = 1;
let str = 'this.family'+id; // ?
let str = 'this.dogs'+id; // ?
console.log(str);
const result = {
familyType: str[i], // behavior: t-h-i-s-.-f-a-m-i-l-y-1
protocol: this.dogs1[i], // expected original behavior
};
results.push(result);
}
}
答案 0 :(得分:2)
您正在寻找:
let str = this['family'+id];
但这通常是一种糟糕的设计模式。不要用增量数字命名变量。使用2D数组(即具有数组作为值的数组),如this.dog[id][i]
。如果您有“javascript heap problem”,那么它是由其他一些代码引起的。