javascript - 在数组 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);
}
为什么修剪第一次而不是第二次?
解决方案
您不能修剪数组。但是您可以映射数组并修剪值。
这个结果的特点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));
推荐阅读
- excel - 单击定义为带有 SVG 的 DIV 的按钮,该 SVG 链接到带有 VBA 的路径
- java - 运行 swt java 应用程序时出错
- php - Laravel REST API 请求对象为空
- python - 如何使用pyqt4更改QScrollarea中的滚动条颜色
- firebase - Firebase 列表未在设置状态下更新
- r - 如何根据(元素)选定的相邻列计算重复的行数
- c# - ITextSharp 在词尾添加三个点
- java - 你能用注解构建一个FilterChain吗?
- javascript - Angular build .js 文件的导入与 React .js 冲突
- continuous-integration - 如何在 Cypress 中更改 CI 的环境变量?