英文:
Working with a number of variables at a time in JavaScript
问题
可以使用一个数组和循环来更简洁地应用toFixed(prec)
函数到这些变量上,如下所示:
var variables = [x1, x2, y1, y2, a1, a2, b1, b2, c1, c2];
for (var i = 0; i < variables.length; i++) {
variables[i] = variables[i].toFixed(prec);
}
这段代码将所有的变量存储在一个数组中,然后通过循环遍历数组中的每个变量,分别应用toFixed(prec)
函数。
英文:
I have these 10 variables already declared and they each contain a float value.
Is there any way to apply the function toFixed(prec)
with prec
as the parameter to all these variables with a shorter code? Using an array or something like that?
x1 = x1.toFixed(prec);
x2 = x2.toFixed(prec);
y1 = y1.toFixed(prec);
y2 = y2.toFixed(prec);
a1 = a1.toFixed(prec);
a2 = a2.toFixed(prec);
b1 = b1.toFixed(prec);
b2 = b2.toFixed(prec);
c1 = c1.toFixed(prec);
c2 = c2.toFixed(prec);
答案1
得分: 2
把变量放入一个数组中,进行映射和解构:
[x1, x2, y1, y2, ...] = [x1, x2, y1, y2, ...].map(num => num.toFixed(prec));
英文:
Put the variables into an array, map it and destructure:
[x1, x2, y1, y2, ...] = [x1, x2, y1, y2, ...].map(num => num.toFixed(prec));
答案2
得分: 1
是的,你应该将所有这些参数保存在一个对象中(在其他语言中可能是一个关联数组),然后你可以简单地循环遍历该对象。
/**
替换这部分:
x1=x1.toFixed(prec);
x2=x2.toFixed(prec);
y1=y1.toFixed(prec);
y2=y2.toFixed(prec);
a1=a1.toFixed(prec);
a2=a2.toFixed(prec);
b1=b1.toFixed(prec);
b2=b2.toFixed(prec);
c1=c1.toFixed(prec);
c2=c2.toFixed(prec);
使用这个:
*/
let options = {
x1: 1.0,
x2: 2.0,
x3: 3.0,
}
console.log('Before', options);
for (const [key, value] of Object.entries(options)) {
options[key] = value.toFixed(3);
}
console.log('After', options);
英文:
Yes, you should keep all these parameters in object (as associative array in other language), than you can simply loop that object.
<!-- begin snippet: js hide: false console: true babel: false -->
<!-- language: lang-js -->
/**
Replace this:
x1=x1.toFixed(prec);
x2=x2.toFixed(prec);
y1=y1.toFixed(prec);
y2=y2.toFixed(prec);
a1=a1.toFixed(prec);
a2=a2.toFixed(prec);
b1=b1.toFixed(prec);
b2=b2.toFixed(prec);
c1=c1.toFixed(prec);
c2=c2.toFixed(prec);
with this:
*/
let options = {
x1: 1.0,
x2: 2.0,
x3: 3.0,
}
console.log('Before', options);
for (const [key, value] of Object.entries(options)) {
options[key] = value.toFixed(3);
}
console.log('After', options);
<!-- end snippet -->
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论