假设您有以下数组:
const ab = ['a', 'a', 'b', 'b', 'b', 'a', 'b', 'b', 'a'];
您将如何更改此数组,以便所有“b”项目组合在一起,直到您点击另一个“a”。
所以上面数组的结果应该是这样的:
['a', 'a', 'bbb', 'a', 'bb', 'a'];
我试图通过将 span 标签包裹在与 React 应用程序中的模式匹配的单词周围来解决问题,但这本质上是我的问题。
我已经在这方面工作了很长时间,但无法得出令我满意的任何结果。
有什么想法吗?
干杯。
最佳答案
计算重复出现的次数,然后以此为基础构建结果:
const result = [];
let curr = array[0], count = 1;
for(const el of array.slice(1).concat(undefined)) {
if(el !== curr || el !== "b") {
result.push(curr.repeat(count));
curr = el, count = 1;
} else count++;
}
关于javascript - 如何合并 JavaScript 数组中的某些项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54812192/