【发布时间】:2017-07-22 16:38:32
【问题描述】:
我正在使用 GPS 相关程序,因此我正在积极接收许多位置对象。这是我想要实现的数组形式。最初它应该是一个空数组,然后只从一个孩子开始,所有传入的位置对象都将存储在那个孩子中,直到发出其他命令。当下一个事件开始时,所有传入的对象都将存储在第二个子数组中,希望你能得到要点。
rootArray = [
[
{lat: '', long: ''},
{lat: '', long: ''},
{lat: '', long: ''},
],
[
{lat: '', long: ''},
{lat: '', long: ''},
{lat: '', long: ''},
]
]
这是我尝试过但没有成功的方法。
// I am working with redux here actually
// rootArray: []
case NEW_LOCATION_OBJECT_COMING:
return {
...state,
rootArray: state.rootArray[state.rootArray.length].concat(action.payload.locationObject),
}
【问题讨论】:
-
你不能把
concat改成push吗?state.rootArray[state.rootArray.length].push(action.payload.locationObject) -
不要使用
push会改变数组,另一方面concat是返回新数组的好方法。
标签: javascript arrays reactjs redux lodash