首页 > 解决方案 > 在数组 JS 中多次使用修剪

问题描述

我有一段代码,我试图将带有特殊字符的较长字符串解析为没有空格或特殊字符的数组。
输入:名称:这是一些东西,名称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);
}

为什么修剪第一次而不是第二次?

标签: javascriptarraysmappingtrim

解决方案


您不能修剪数组。但是您可以映射数组并修剪值。

这个结果的特点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));


推荐阅读