【发布时间】:2021-02-05 18:41:46
【问题描述】:
在 Javascript 中,如何将 [[1],[2],[3]] 更改为 ["1","2","3"]。我尝试使用 toString 方法,但它没有给我想要的结果,
【问题讨论】:
-
如果您添加一些您尝试过的格式化源代码以及到目前为止的结果,它会有所帮助。
标签: javascript arrays algorithm
在 Javascript 中,如何将 [[1],[2],[3]] 更改为 ["1","2","3"]。我尝试使用 toString 方法,但它没有给我想要的结果,
【问题讨论】:
标签: javascript arrays algorithm
使用Array.map() 将每个数组转换为字符串,使用字符串constructor function:
const arr = [[1],[2],[3]]
const numbersArr = arr.map(String)
console.log(numbersArr)
如果每个数组中有多个项,则将数组展平,然后将数组项映射到字符串:
const arr = [[1, 2],[2, 3],[3, 4]]
const numbersArr = arr.flat().map(String)
console.log(numbersArr)
【讨论】:
您可以使用Array.reduce 将二维数组缩减为单个数组。
const arr = [[1],[2],[3]];
const result = arr.reduce( (acc, cur) => {
acc.push(cur[0].toString())
return acc;
}, []);
console.log(result);
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
【讨论】:
这可能会有所帮助。
// [1, [2, [3], [4, [[[5, 6]]]]]] => ['1', '2', '3', '4', '5', '6']
const flatternArray = (arr) => {
return arr.flatMap(x => {
if (Array.isArray(x)) {
return flatternArray(x)
} else {
return x.toString();
}
})
}
console.log(flatternArray([1, [2, [3], [4, [[[5, 6]]]]]]))
【讨论】: