【问题标题】:Converting Array stored as a String to a List object in JavaString将存储为 String 的 Array 转换为 Java String 中的 List 对象
【发布时间】:2026-01-12 20:00:02
【问题描述】:

我有以下列表:

nested_list = [
  ["[63]"],
  ["[61]"],
  ["[7]"],
  ["[63]"],
  ["[80, 18]"],
  ["[80, 43, 18, 20]"]
]

我知道这是一团糟,但这是我目前必须处理的数据 我需要它是这样的:

[63, 61, 7, 63, 80, 18, 80, 43, 18, 20]

所以基本上将其转换为数字列表。使用尽可能少的循环是否可行?

我使用了 flat() nested_list .flat(2) 并最终得到以下结果:

[ '[63]', '[61]', '[7]', '[63]', '[80, 18]', '[80, 43, 18, 20]' ]

还尝试了 this 之后的 reduce + concat,但由于它是一个字符串,所以它不起作用,我不知道从哪里开始。

【问题讨论】:

    标签: javascript arrays string list


    【解决方案1】:

    .flatMap() + JSON.parse() 可以很容易做到这一点

    const nested_list = [
      ["[63]"],
      ["[61]"],
      ["[7]"],
      ["[63]"],
      ["[80, 18]"],
      ["[80, 43, 18, 20]"]
    ];
    
    const result = nested_list.flatMap(JSON.parse);
    
    console.log(result)

    【讨论】:

    • 非常感谢!这真太了不起了!在这里学习吨:)
    最近更新 更多