Javascript ';互换';范围内的值
我得到的数据是介于Javascript ';互换';范围内的值,javascript,node.js,math,Javascript,Node.js,Math,我得到的数据是介于1和7之间的浮点值。 1不好,7好 有时候,当我得到这些数据时,我想“反转”它,因为问题写的是否定的,1是好的,7是坏的 分数1应“交换”为分数7 分数2应“交换”为分数6 分数2.5应“替换”为分数4.5 最初我认为我可以使用数组: const array = [1,2,3,4,5,6,7] return array[answer] - 1; 或者Math.abs(答案-6)但两者都不行。我想你不需要数组,如果你的值是固定的(从1到7),你可以从8中减去: 返回8-答案
1
和7
之间的浮点值。
1
不好,7
好
有时候,当我得到这些数据时,我想“反转”它,因为问题写的是否定的,1
是好的,7
是坏的
分数
1
应“交换”为分数7
分数2
应“交换”为分数6
分数2.5
应“替换”为分数4.5
最初我认为我可以使用数组:
const array = [1,2,3,4,5,6,7]
return array[answer] - 1;
或者
Math.abs(答案-6)
但两者都不行。我想你不需要数组,如果你的值是固定的(从1到7),你可以从8中减去:
返回8-答案代码>这里有一个简单的函数来实现:
function reverseRating(rating) {
return 8 - rating
}
以下函数可完成此操作:
function reverseOnScale(answer, from, to) {
answerMinus = answer - from;
reversedMinus = Math.abs(answerMinus - (to - from));
reversed = reversedMinus + from;
return reversed;
}
用法示例:
reverseOnScale(5, 1, 7);
输出值3。您的意思是2.5应该映射到5.5吗?@A.Llorente您是对的,我将其编辑为Javascript代码。