javascript - 如何将两个数据拆分为一个数组元素

标签 javascript arrays

我有一个数组,想要拆分一个数组元素中包含的两个数据。

这是代码:

const array = ["1 Boston 4 11", "2 Florida 6 14\n3 Texas 5 12", "4 California 7 13"];

array.map(x => {
  return (
    console.log(x.split(" "))
  )
});

array[1] 包含两个数据:2 Florida 6 143 Texas 5 12。我需要将每个数据的 array[1] 拆分为两个不同的数组。

我期望的结果:

[
  "1",
  "Boston",
  "4",
  "11"
]
[
  "2",
  "Florida",
  "6",
  "14"
]
[
  "3",
  "Texas",
  "5",
  "12"
]
[
  "4",
  "California",
  "7",
  "13"
]

谁能帮我解决这个问题吗?

最佳答案

首先针对每个换行符进行分割,然后针对每个空格进行分割

const array = ["1 Boston 4 11", "2 Florida 6 14\n3 Texas 5 12", "4 California 7 13"];
console.log(array.flatMap(x => x.split("\n")).map(x => x.split(" ")));

正如 kemicofa 所解释的那样,并非所有浏览器都支持 Array#flatMap。推荐alternative对于 flatMap 来说,它是 Array#reduce 和 Array#concat 的组合:

const array = ["1 Boston 4 11", "2 Florida 6 14\n3 Texas 5 12", "4 California 7 13"];
console.log(array.reduce((acc, x) => acc.concat(x.split("\n")), []).map(x => x.split(" ")));

关于javascript - 如何将两个数据拆分为一个数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53459139/

相关文章:

javascript - Vue.js 数据对象无法与某些 lodash 函数一起使用?

javascript - 如何在不使用输入元素的情况下捕获 Vuejs 中的任何按键事件

javascript - 触发 jQuery ("#collapseMenu").hide();按 Esc 键时

javascript - 如何简化嵌套条件?

python - 使用数组时,出现此错误 : TypeError: an integer is required

javascript - "clock"指令的 Angular 单元测试 $interval

javascript - jQuery - 仅当满足某些 HTML 属性时才在鼠标光标旁边显示图像

javascript - 将 MySQL 数组转换为 json 数组

C无法从函数中读取字符串数组

arrays - 获取数组的中位数