Trim 数组的数组 (Javascript)
Trim an array of an arrays (Javascript)
我知道如何通过 map()
方法 trim 数组中的所有字符串(感谢 this article!)
let a = [' a ', ' b ', ' c '];
let b = a.map(element => {
return element.trim();
});
console.log(b); // ['a', 'b', 'c']
但我想知道如何 trim 一个数组数组?
例如let x = [[" a ", " b "], [" c ", " d "]]
谢谢!
P.S:我正在学习Javascript。
您也可以映射嵌套数组。
let data = [[" a ", " b "], [" c ", " d "]]
const result = data.map((d) => d.map((y) => y.trim()));
console.log(result);
如果你想把结果拉平,你可以使用flatMap()
let data = [[" a ", " b "], [" c ", " d "]]
const result = data.flatMap((d) => d.map((y) => y.trim()));
console.log(result);
除了已经提供的解决方案之外,如果您有 n 层嵌套数组并且想要 trim 字符串而不展平数组,您可以这样做它递归如下。
let arr = [
[" a ", " b "],
[" c ", " d ", [" e", "f "]]
]
function trimRecursively(arr) {
return arr.map(x => {
if (Array.isArray(x)) {
return trimRecursively(x);
} else {
return x.trim();
}
})
}
console.log(trimRecursively(arr));
我知道如何通过 map()
方法 trim 数组中的所有字符串(感谢 this article!)
let a = [' a ', ' b ', ' c '];
let b = a.map(element => {
return element.trim();
});
console.log(b); // ['a', 'b', 'c']
但我想知道如何 trim 一个数组数组?
例如let x = [[" a ", " b "], [" c ", " d "]]
谢谢!
P.S:我正在学习Javascript。
您也可以映射嵌套数组。
let data = [[" a ", " b "], [" c ", " d "]]
const result = data.map((d) => d.map((y) => y.trim()));
console.log(result);
如果你想把结果拉平,你可以使用flatMap()
let data = [[" a ", " b "], [" c ", " d "]]
const result = data.flatMap((d) => d.map((y) => y.trim()));
console.log(result);
除了已经提供的解决方案之外,如果您有 n 层嵌套数组并且想要 trim 字符串而不展平数组,您可以这样做它递归如下。
let arr = [
[" a ", " b "],
[" c ", " d ", [" e", "f "]]
]
function trimRecursively(arr) {
return arr.map(x => {
if (Array.isArray(x)) {
return trimRecursively(x);
} else {
return x.trim();
}
})
}
console.log(trimRecursively(arr));