javascript - 重新组合数组中的特定项目

标签 javascript arrays logic

这个周末我一直在寻找一种方法来重新组合数组中的项目,但没有成功。我一直在研究 reduce() 方法,以重新组合数组中的连续数字,尽管它需要映射每个项目的索引,这很快就会变得难以阅读。

无法找到正确的术语来在 Stack Overflow 上查找类似问题。如果这是一个重复的问题,我们深表歉意。

// Initial array:

foo = ["a", "b", "C", "D", "e", "f", "G", "H", "I", "j", "k", "l", "M", "n" ]

// Desired array:

bar = ["a", "b", ["C", "D"], "e", "f", ["G", "H", "I"], "j", "k", "l", ["M"], "n" ]

这个简单的插图是不言自明的,代表了我试图解决的问题。

最佳答案

function regroupArray(array) {
  let temp = array.map(el => (el >= "A" && el <= "Z" ? [el] : el));
  temp.forEach((el, i, arr) => {
    if (Array.isArray(el)) {
      while (Array.isArray(arr[i + 1])) {
        arr[i] = arr[i].concat(arr[i + 1]);
        arr.splice(i + 1, 1);
      }
    }
  });
  return temp;
}

关于javascript - 重新组合数组中的特定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60589487/

相关文章:

Javascript Catch In Then Promises

javascript - 根据背景更改文本颜色

arrays - 高效堆叠和连接 NumPy 数组

javascript - jQuery:使用每个迭代嵌套元素

javascript - 如何检测从 dom 元素中添加/删除的元素?

javascript - 数组在另一个值中按字母顺序排序在 Javascript 中排序

javascript - 为什么循环将最后一个索引元素的引用分配给?

c - (生命游戏)如何在不检查矩阵外部的情况下循环遍历矩阵的外层,同时检查邻居?

C# 转换字符串以用于逻辑条件

swift - 从字典和最佳实践中更新变量值