我有一个名为calculateElementHeight
的函数,它可以接收一个偏移量数组,我基本上想获取偏移量数组中的每个元素,并使用它从函数返回一个模板文本字符串。
const calculateElementHeight = (offsets: string[]) => {
// some code that allows me to grab every element in the offsets array and put a '-' in front of it
// return `calc(100vh - all the elements in offset array)`
}
例如,如果put中的偏移数组是['10px', '20px', '30px']
,则calculateElementHeight
函数应该返回calc(100vh - 10px - 20px - 30px)
。偏移阵列可以包含不同的单位(即,['10px' '20%', '30em']
),因此必须考虑这一点。
我怎样才能做到这一点?
4条答案
按热度按时间oknrviil1#
使用带有
-
分隔符的join
。xmakbtuz2#
在所有偏移前加上前缀
" - "
,然后进行连接。当列表为空时也有效。pbpqsu0x3#
只是把每一项添加到calc - surley中,你想要对所有的px值求和,并将总和作为要从100 vh中减去的金额,这有什么好处?
或者,只需将一个数字数组传递给函数,以避免使用split和parseInt()。
wkftcu5l4#
迟到的回答
与其他答案不同,这个解决方案还处理空值和未定义的输入,它不使用Array.map给每个元素附加连字符,而是简单地创建一个新数组,将“100vh”用作第一个元素。
Array.concat也可用于产生相同的输出:
(被减数:要减去另一个的量或数。)
片段