我如何将数组转换为列表
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)
如果您需要一些解释,请随意询问
所以基本上,我想要的是,如果我有这样一个数组:
["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)
如果您需要一些解释,请随意询问