Javascript 如何计算占总数的相对百分比?

Javascript 如何计算占总数的相对百分比?,javascript,html,math,svelte,Javascript,Html,Math,Svelte,我正在尝试创建一个字体大小为总字体百分比的单词云。每个单词都有一个“count”属性 <h2>Cryptos</h2> <div class="topics"> {#each cryptos as topic} <a href="/cryptos/{topic._id}" style="font-size: {(topic.count / topics[0].count) * 10

我正在尝试创建一个字体大小为总字体百分比的单词云。每个单词都有一个“count”属性

<h2>Cryptos</h2>
<div class="topics">
{#each cryptos as topic}
    <a
    href="/cryptos/{topic._id}"
    style="font-size: {(topic.count / topics[0].count) * 100 + 100}%;">${topic._id}
    ({topic.count})</a>
{/each}
</div>
主题根据
.count


我基本上希望字体大小在低端为100%,在高端为200%。

通过比较字体大小范围和字数范围,可以改变字体大小

假设您有一个单词列表及其计数:

const单词=[
{文本:“苹果”,计数:10},
{文本:“梨”,计数:30},
// ...
]
可以计算
字体大小的范围

const minFontSize=10
常量maxFontSize=30
//大小之间的差值
常量fontRange=maxFontSize-minFontSize
然后计算最小字数、最大字数和字数范围。被动语句在这方面效果很好:

//计数列表
$:counts=words.map(record=>record.count)
//最小字数
$:min=Math.min(…计数)
//最大字数
$:max=Math.max(…计数)
//最小和最大字数之间的增量
$:countRange=最大值-最小值
现在我们可以计算字体大小:

minFontSize + (deltaWordCount * sizeRatio)
或者更具体地说:

{#each words as word}
  <span style="font-size: {minFontSize + ((word.count - min) * (fontRange / countRange))}px">
    {word.text}
  </span>
{/each}
{#每个单词都是单词}
{word.text}
{/每个}

您可以在这里找到一个工作示例:

通过比较字体大小范围和字数范围,可以改变字体大小

假设您有一个单词列表及其计数:

const单词=[
{文本:“苹果”,计数:10},
{文本:“梨”,计数:30},
// ...
]
可以计算
字体大小的范围

const minFontSize=10
常量maxFontSize=30
//大小之间的差值
常量fontRange=maxFontSize-minFontSize
然后计算最小字数、最大字数和字数范围。被动语句在这方面效果很好:

//计数列表
$:counts=words.map(record=>record.count)
//最小字数
$:min=Math.min(…计数)
//最大字数
$:max=Math.max(…计数)
//最小和最大字数之间的增量
$:countRange=最大值-最小值
现在我们可以计算字体大小:

minFontSize + (deltaWordCount * sizeRatio)
或者更具体地说:

{#each words as word}
  <span style="font-size: {minFontSize + ((word.count - min) * (fontRange / countRange))}px">
    {word.text}
  </span>
{/each}
{#每个单词都是单词}
{word.text}
{/每个}

您可以在这里找到一个工作示例:

您的代码生成了什么
字体大小
值?表面上看似乎是正确的。在这种情况下,“工作不正常”的确切含义是什么?我得到一个大的,其他所有的都是相同的大小。
font size:107.xxx%
对于大多数标记。@chovy有多少个单词/计数?因为如果有14个单词,每个单词的计数为1,那么
107.xx%
似乎是正确的。代码生成的
font size
值是多少?表面上看似乎是正确的。在这种情况下,“工作不正常”的确切含义是什么?我得到一个大的,其他所有的都是相同的大小。
font size:107.xxx%
对于大多数标记。@chovy有多少个单词/计数?因为如果有14个单词,每个单词的计数为1,那么
107.xx%
似乎是正确的。