【发布时间】:2018-12-03 05:26:19
【问题描述】:
我正在寻找一种将多个数组道具合并到一个对象中的有效方法。
对象,可以有多个数组属性:
{
"col0Codes": [
"ABC",
"XYZ",
"UYA",
"ZZA",
"AAW",
"MYP"
],
"col1Codes": [
"CNA",
"ZYA",
"OIA",
"POQ",
"LMO",
"OPI"
],
"col2Codes": [
"CNA",
"ZYA",
"OIA",
"POQ",
"LMO",
"OPI"
],
"col3Codes": [
"..."
],
"col4Codes": [
"..."
],
...
}
结果:单个数组中的所有代码
["ABC","XYZ","UYA","ZZA","AAW","MYP","CNA","ZYA","OIA","POQ","LMO","OPI",....]
我尝试过使用concat,但这每次都会创建一个新数组并覆盖前一个数组,我觉得这不是快速和内存效率。
let colCodes = []
for (let i in data) {
colCodes = colCodes .concat(i)
}
console.log(activityCodes)
我尝试过使用push,但由于某种原因,它不会将所有条目合并到一个数组中,而是创建一个数组,其中包含对象中的道具数量,如下所示
let colCodes = []
for (let i in data) {
colCodes.push(i)
}
console.log(colCodes)
[Array(6), Array(5), ....]
无论如何我可以使用reduce 来实现这一点,如果那样的话会快速且内存效率高?
【问题讨论】:
标签: javascript arrays