Контекст: в Sketch я пишу плагин для отображения текста на холсте, который отображает вертикальный список текста и его комбинации размера шрифта + веса.
[Использует JavaSCript [
Проблема: я не могу понять, как программно увеличить Y pos каждого слоя должным образом.
Скажем, у меня есть два массива:
const fontWeights = ['normal', 'bold'];
const fontSizes = ['small', 'medium', 'large'];
Я хочу создать вертикальный список каждая комбинация fontWeight + fontSize, так что это выглядит так:
smallNormal
smallBold
mediumNormal
mediumBold
largeNormal
largeBold
(или графически см. изображение )
function renderLayers() {
return fontWeights.map((weight, weightsIndex) =>
fontSizes.map((size, sizeIndex) =>
return (
<TextLayer
fontSize={size}
fontWeight={weight}
yPos={ (weightsIndex + sizeIndex) * 100 }
/>
}
Это вроде работает, кроме это случай, когда:
0 + 0 * 100 = 0
0 + 1 * 100 = 100
1 + 0 * 100 = 100 // <-- that should be 200
Все, что я действительно хочу сделать, это сместить каждую итерацию на фиксированную величину. Я уверен, что есть некоторый логический c / математический способ сделать это, но я застрял.
Помощь была бы отличной, спасибо!