我如何将数组转换为列表

How would I transform an array into a list

所以基本上,我想要的是,如果我有这样一个数组:

["item", "item1", "item2", "item2", "item2"]

应该改为:

 - Item\n- Item1\n- Item2 (3x)

我花了几个小时试图解决这个问题,但我想不出任何东西,所以我想我应该在这里问一下。非常感谢帮助。

你可以这样做

const data = ["item", "item1", "item2", "item2", "item2"]


const result = Object.entries(
data.reduce((res, item) => ({...res, [item]: (res[item] || 0) + 1}), {})
).map(([name, count]) => `- ${name}${count > 1?` (x${count})`:''}`).join('\n')

console.log(result)

如果您需要一些解释,请随意询问