在 javascript 中以度数显示风向

Show the wind direction in degree in javascript

如何在javascript中以90°表示风向(包括数字后面小圆圈度数符号的使用)?

我只能在文字描述中显示 - 下面的代码。

谢谢。

function text(d) {
  let directions = ['Northerly', 'North Easterly', 'Easterly', 'South Easterly', 'Southerly', 'South Westerly', 'Westerly', 'North Westerly'];

  d += 22.5;

  if (d < 0)
    d = 360 - Math.abs(d) % 360;
  else
    d = d % 360;

  let w = parseInt(d / 45);
  return `${directions[w]}`;
}

很简单。只需检查 utf16 char table 并使用 String.fromChatCode()。这里:

function text(d) {
        let directions = ['Northerly', 'North Easterly', 'Easterly', 'South Easterly', 'Southerly', 'South Westerly', 'Westerly', 'North Westerly'];

        d += 22.5;

        if (d < 0)
            d = 360 - Math.abs(d) % 360;
        else
            d = d % 360;

        let w = parseInt(d / 45);
        return `${directions[w]}`;
    }

    deg = 67;

    console.log(deg + String.fromCharCode(0xfeff00b0) + ' = ' + text(deg));

这是您可以找到 UTF16 的众多地方之一 table:

http://www.fileformat.info/info/charset/UTF-16/list.htm 我还更正了您的代码中的一个错误。请注意 "degree" 变量不存在。应该是 "d"

这里有一个更高级的函数版本供您研究一下:

dirToStr = (d) => {
  const directions = ['Northerly', 'North Easterly', 'Easterly', 'South Easterly', 'Southerly', 'South Westerly', 'Westerly', 'North Westerly'];
  d = d < 0 ? 
      d = 360 - Math.abs(d) % 360 
    : d % 360;
  return `${directions[d / 45 | 0]}`;
}

const degreeChar = String.fromCharCode(0xfeff00b0);
deg = 67;

console.log(`${deg}${degreeChar} = ${dirToStr(deg)}`);