Javascript 在阵列JS中多次使用修剪

Javascript 在阵列JS中多次使用修剪,javascript,arrays,mapping,trim,Javascript,Arrays,Mapping,Trim,我有一段代码,试图将带有特殊字符的较长字符串解析为一个没有空格或特殊字符的数组。 输入:姓名:这是一些东西,姓名2:这是更多的东西 所需输出:[名称,这是一些内容,名称2,这是更多内容] 当前输出:z.trim不是一个函数 function parseOrder(custOrder) { const custOrderArr = custOrder.split(','); const trimedArr = custOrderArr.map((x) => x.trim());

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

为什么修剪第一次起作用而第二次不起作用

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

此结果的功能是防止阵列成对出现

函数parseOrder(custOrder){
退货定单
.split(“,”)
.flatMap(y=>y.split(“:”).map(x=>x.trim());
}
var input='name:这是一些东西,name 2:这是更多的东西';

日志(解析顺序(输入))尝试
用两个符号拆分
,然后
修剪
您的元素:

const result = str.split(/[\:,]+/).map(s => s.trim());
例如:
let str='test:It is me,test2:It is me 2';

log(str.split(/[\:,]+/).map(s=>s.trim())
在某些迭代中,您的var
z
可能不是
string
类型,请发布您正在使用的数据集。您正在创建一个数组数组(存储在numberrar中)。也许你想看看array.flant或使用regex。看起来它将是一个stringsyup数组,完全忽略了它是一个数组数组,而不仅仅是一个数组的事实。