我有一系列温度,我必须将它们转换为度数celcius,我被告知我需要在javascript中使用map / reduce。我查看了文档,但我似乎无法弄清楚如何做到这一点。 这是我的阵列:
var fahrenheit = [0, 32, 45, 50, 75, 80, 99, 120];
答案 0 :(得分:1)
尝试以这种方式使用map
,
var fahrenheit = [0, 32, 45, 50, 75, 80, 99, 120];
var celcius = fahrenheit.map(v => ((v - 32) * (5/9)).toFixed(1));
//If you do not want the decimal points then write,
// fahrenheit.map(v => ((v - 32) * (5/9)) | 0);
console.log(celcius); //["-17.8", "0.0", "7.2", "10.0", "23.9", "26.7", "37.2", "48.9"]
将F转换为C的公式为
C =((F-32)*(5/9))
答案 1 :(得分:1)
这应该有效
var celcius = fahrenheit.map(function(elem) {
return Math.round((elem - 32) * 5 / 9);
});
或在ES6中
fahrenheit.map(elem => Math.round((elem - 32) * 5 / 9));
你得到了
celcius // [-18, 0, 7, 10, 24, 27, 37, 49]
答案 2 :(得分:0)
我想这应该做到
var fahrenheit = [0, 32, 45, 50, 75, 80, 99, 120],
celcius = fahrenheit.map(f => (f-32)/1.8);