我试图创建一个字符串,其中我希望有以下内容1.在句子的最后一个词之前应该加上和1.如果只有一个词,那么就不是和。for和数组['john','harry', 'darren']我希望在下面例如john harry and daren这是一个国际化的有效案例吗?还是我最好只编程来做这个?
['john','harry', 'darren']
john harry and daren
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。
'en'
undefined
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))
2条答案
按热度按时间goqiplq21#
您正在寻找的是Intl.ListFormat:
如果要使用默认区域设置,请将
'en'
替换为undefined
。rsl1atfo2#
你可以创建一个函数,函数体看起来像这样:
测试如下: