在包含数组元素的对象上使用.reduce将其转换为数组

时间:2018-05-11 15:00:42

标签: javascript arrays object reduce

我正在尝试将包含数组作为其属性的对象转换为包含这些嵌套数组中所有元素的数组。

这是我想要做的事情:

data1 = [{
  a: 1,
  b: ["uz", "vy"]
}, {
  a: 2,
  b: ["wxa", "xwy"]
}, {
  a: 6,
  b: ["ysa", "zaa"]
}]

data1.reduce(function(q, w) {
  return q.b.concat(w.b)
})

我希望最终数据看起来像这样:

data1 = ["uz","vy","wxa","xwy","ysa","zaa"]

然而,这会给出错误消息:

"Uncaught TypeError: Cannot read property 'concat' of undefined"

如果q.b引用对象内的数组,为什么它没有concat属性? 我在这做错了什么?

0 个答案:

没有答案