Как представить число в виде массива его частей?

Рейтинг: 0Ответов: 1Опубликовано: 12.04.2023
<div class="rating__indicator-part"   v-for="i in  [1,1,1,0.6,0]" :key="i"  :style="{background: i >= 1 ? '#19C485' : i <= 0 ? 'black' :
               'linear-gradient(to right, #19C485, #19C485 '+ (i ) * 100 +'% , black ' + (i) * 100 +'%)'}"> </div>

я сделал во такое вот решение, смысл в том что вместо [1,1,1,0.6,0], я хочу подавать любое дробное или не дробное число и представлять его в виде такого массива относительно 5, например 3.6 => [1,1,1,0.6,0], 4.2 => [1,1,1,1,0.2], 4 => [1,1,1,1,0] Как это можно реализовать

Ответы

▲ 0

например 3.6 => [1,1,1,0.6,0], 4.2 => [1,1,1,1,0.2], 4 => [1,1,1,1,0] Как это можно реализовать

Например вот так...

const test = n => {
  if (n > 5) return null
  const a = n.toString().split('.')
  const arr = Array(+a[0]).fill(1)
  arr.push(+('0.' + (a[1] ?? 0)))
  return arr 
}
console.log(test(3.6))
console.log(test(4.2))
console.log(test(4))
console.log(test(4.123456))