Javascript - 减少数组数组

标签 javascript arrays

数组输入:[["test","test"],["test2","test"],["test2","test2"],["test ","test2"]]

数组输出:["test test","test2 test","test2 test2","test test2"]

我可以通过以下方式获得此输出:

output = input.join("|").replace(/,/g," ").toString().split("|")

但是,我不太喜欢这种解决方法,因为:

  • 看起来不自然
  • 如果其中一个数组本身包含一个逗号,它也将是 删除
  • 如果其中一个数组本身包含一个管道,拆分将不会按预期进行

如何在没有这些障碍的情况下获得输出?

最佳答案

您可以使用 map 而不是加入外部数组至 join每个内部数组分别:

var arr = [["test","test"],["test2","test"],["test2","test2"],["test","test2"]];
var output = arr.map(subarr => subarr.join(' '));

关于Javascript - 减少数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37422006/

相关文章:

javascript - 仅使用 CSS 的 div fadeIn 和 fadeOut(从 DOM 追加和删除)。是否可以?

javascript - 首先按 bool 列然后按字符串列对数组进行排序

arrays - 如何比较两个数组集合并显示在不同的选项卡中?

javascript - 在javascript的两个数组中查找缺失的元素

arrays - 将二维数组转换为一维 (Ruby)

javascript - 我如何比较表单中的两个日期并验证它们?第二个不应该在第一个之前

javascript - 从下拉列表中选择选项时,JS 未按预期工作

javascript - 下拉菜单不适用于 safari

c - 大小未知的可变长度数组

javascript - 缩放传单 map 时,SVG 圆圈不会重新定位