reactjs 我可以使用国际化API来格式化句子,在最后一个项目之前有“和”字吗?

yxyvkwin  于 2023-04-29  发布在  React
关注(0)|答案(2)|浏览(103)

我试图创建一个字符串,其中我希望有以下内容
1.在句子的最后一个词之前应该加上和
1.如果只有一个词,那么就不是和。
for和数组['john','harry', 'darren']
我希望在下面
例如john harry and daren
这是一个国际化的有效案例吗?还是我最好只编程来做这个?

goqiplq2

goqiplq21#

您正在寻找的是Intl.ListFormat

const names = ['john','harry', 'darren'];

const formatter = new Intl.ListFormat('en', { style: 'long', type: 'conjunction' });

console.log(formatter.format(names));

如果要使用默认区域设置,请将'en'替换为undefined

rsl1atfo

rsl1atfo2#

你可以创建一个函数,函数体看起来像这样:

function myFunc (a) {
    if (a.length > 1) {
        const exceptLast = a.slice(0, -1)
        let last = a.slice(-1)
        last = ['and', ...last]
        return [...exceptLast, ...last].join(" ")
    }
    return a[0]
}

测试如下:

const da = ['b', 'cc', 'ddd']
const da1 = ['b']
const da2 = ['b']


console.log(myFunc(da))
console.log(myFunc(da1))
console.log(myFunc(da2))

相关问题