为什么我不能连接这两个数组?

时间:2016-12-08 08:08:20

标签: javascript vue.js vuex

这是代码(Vuex突变):

export const CREATE_PANORAMAS = (state, panoramas) => {
  console.log('building.panoramas:', state.building.panoramas)
  console.log('panoramas:', panoramas)
  state.building.panoramas.concat(panoramas)
  console.log('result:', state.building.panoramas)
} 

这是各个日志的结果:

[] // building.panoramas
[{ name: "", objectId: "5849133aac502e006c581b58" }] // panoramas
[] // result

为什么这两个阵列没有串联?

2 个答案:

答案 0 :(得分:1)

我认为您需要首先将state.building.panoramas.concat(全景图)指定给某些内容,或者您​​可以将其直接放在“结果”行上

sampleArray.concat(moreValues)返回连接数组,它不会将'moreValues'连接到sampleArray本身。

答案 1 :(得分:1)

问题是您没有将连接的结果分配给@JaromandaX指示的state.building.panoramas数组。

您还可以使用rest元素,spread元素,解构赋值来连接两个或多个数组

[...state.building.panoramas] = [...state.building.panoramas, ...panoramas];