我想创建自己的配方转换器,并需要部分测量值,例如杯子和茶匙的分数。当我尝试将这些作为部分插入对象时,如下所示,它在网页上显示小数,而不是所需的比率。
export const ingredients = [
{
id: 1,
name: 'rice wine vinegar (or sub apple cider vinegar)',
category: 'Pickled Vegetables',
portion: 2/3,
unit: 'cup',
},
经过研究,我发现了npm模块mathjs并下载了它,以解决我的问题。
不过,添加此代码后,(似乎可以单独使用)
const math = require('mathjs')
math.config({
number: 'Fraction'
})
然后是此代码
export const ingredients = [
{
id: 1,
name: 'rice wine vinegar (or sub apple cider vinegar)',
category: 'Pickled Vegetables',
//portion value has changed
portion: math.fraction(`2/3`),
unit: 'cup',
},
我从分数的示例中复制了模块的website,我收到了一个错误,该对象不是有效的React子对象,而是使用数组。
基于我从网站上看到的内容,似乎没有这个值放在数组中是完全可以的。
我也尝试将/放置在''中,但VS Code不接受
portion: 2'/'3,
文本编辑器解释说这是不正确的语法,现在我很茫然。
我的代码有什么问题,我是否在使用分数的正确道路上?
答案 0 :(得分:2)
这是因为您只进行了一半格式化...
尝试一下:
/* for readability let's declare two thirds first */
const twoThirds = math.format(math.fraction('2/3'), { fraction: 'ratio' })
export const ingredients = [
{
id: 1,
name: 'rice wine vinegar (or sub apple cider vinegar)',
category: 'Pickled Vegetables',
//portion value has changed
portion: twoThirds,
unit: 'cup',
},