我有一段代码,试图将带有特殊字符的较长字符串解析为没有空格或特殊字符的数组。
输入:名称:这是一些东西,名称2:这是更多东西
所需的输出:[名称,这是一些东西,名称2,这是更多东西]
当前输出:z.trim不是函数

function parseOrder(custOrder) {
  const custOrderArr = custOrder.split(',');
  const trimedArr = custOrderArr.map((x) => x.trim());
  const numberArr = trimedArr.map((y) => y.split(':'));
  const processArr = numberArr.map((z) => z.trim());
  console.log(processArr);
}

为什么修整第一次工作而不是第二次工作?

最佳答案

您无法修剪数组。但是您可以映射数组并修剪值。

此结果具有 Array#flatMap 的特征,用于防止成对的数组。

function parseOrder(custOrder) {
    return custOrder
        .split(',')
        .flatMap(y => y.split(':').map(x => x.trim()));
}


var input = 'name: this is some stuff, name2: this is more stuff ';

console.log(parseOrder(input));

10-07 13:52