以下是一系列 else-if 语句,一旦对其进行求值,就会将数据附加到与求值语句中硬编码字符串同名的数组中。我知道必须有一种相当简单的方法来提高效率,但我想不出一种不会使事情过于复杂的解决方案。
代码:
name = [];
name2 = [];
name3 = [];
name4 = [];
name5 = [];
name6 = [];
name7 = [];
name8 = [];
name9 = [];
name10 = [];
name11 = [];
name12 = [];
name13 = [];
if (categoryObject.category === 'name1') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name1.push(element);
});
} else if (categoryObject.category === 'name2') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name2.push(element);
});
} else if (categoryObject.category === 'name3') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name3.push(element);
});
} else if (categoryObject.category === 'name4') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name4.push(element);
});
} else if (categoryObject.category === 'name5') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name5.push(element);
});
} else if (categoryObject.category === 'name6') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name6.push(element);
});
} else if (categoryObject.category === 'name7') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name7.push(element);
});
} else if (categoryObject.category === 'name8') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name8.push(element);
});
} else if (categoryObject.category === 'name9') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name9.push(element);
});
} else if (categoryObject.category === 'name10') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name10.push(element);
});
} else if (categoryObject.category === 'name11') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name11.push(element);
});
} else if (categoryObject.category === 'name12') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name12.push(element);
});
} else if (categoryObject.category === 'name13') {
categoryObject.data.yAxis.forEach(element => {
// console.log('y: ' + element);
this.name13.push(element);
});
}
最佳答案
为什么不使用动态方法,并省略与 this
无关的局部变量。
categoryObject.data.yAxis.forEach(element => {
// create array, if not exist
this[categoryObject.category] = this[categoryObject.category] || [];
// push value
this[categoryObject.category].push(element);
});
关于javascript - 如何简化文本字符串评估与附加到的数组同名的 else-if 语句? (JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56710116/