今天又遇到一个bug, 最后定位原因是concat使用方法不当。简化代码如下:
var postData = {
filters:[{
value:[1,2,3]
}]
}
var filters = postData.filters
var extra = [{
value:[1]
}]
var newFilters = filters.concat(extra)
console.log('filters',filters)
console.log('newFilters',newFilters)
console.log('postData',postData)
大家可以把上述代码log输出结果写下来,在控制台执行后校验一下自己的结果是否正确。
filters.concat(extra)执行后我以为filters已经是concat后的数据了,但事实原数组并未发生改变。写此文谨记,也提醒一下跟我犯同样错误的伙伴们。
附代码执行结果: