如何计算 JavaScript 数组中的项目,但仅当项目彼此相邻时相同?

我有一个像这样的数组
{John, John, John, Maria, Peter, Peter, Maria, Anna, Anna, Maria, Maria, Peter}
我需要得到像这样的结果

1 -> 3
2 -> 1
3 -> 2
4 -> 1
5 -> 2
6 -> 2
7 -> 1



慕田峪4524236
浏览 82回答 1
1回答

慕尼黑8549860

我把名字分组,然后数数。const array = ['John', 'John', 'John', 'Maria', 'Peter', 'Peter', 'Maria', 'Anna', 'Anna', 'Maria', 'Maria', 'Peter'];let final = [];const count = array.forEach(item => {                   //check whether the last item in the array has the same name                   if ( final[final.length - 1] && final[final.length-1][0] === item ) {                        final[final.length -1].push(item)                   } else {                        //if different name then create a new grouping                        final[final.length] = [item]                   }})console.log(final.map(item => item.length)) //returns the size of each groupconsole.log('final array', final)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript