为何在json数组追加元素一直undefine?
想按zhenrong这个[{}]json数组中的数据去另一个表里查数据,然后把结果添加到数组中每个json新追加属性,结果最后结果console中是正常的,但是输出追加的元素却是undefine,在最底层循环里有大概率可以输出,但是跳到高一级循环就全是undefine了。求大佬指导。
我试过把元素名称改为英文也是一样的结果
代码如下,调试器截图
setColor: function(zhenrong) {
for (let i = 0; i < zhenrong.length; i++) {
for (let j = 1; j < 7; j++) {
db.collection("kuaileTD_hero").where({
'名字': zhenrong[i]['英雄' + j]
}).get({
success(res) {
console.log("当前查的是第",i,"阵容第",j,"英雄",res)
zhenrong[i]['颜色' + j] = res.data[0]['稀有度']
console.log("in_for_j", zhenrong[0]['颜色1'])
// var new_zhenrong = [];
// zhenrong.map(item => { item[color+j] = res.data[0]['稀有度']; new_zhenrong.push(item); })
}
})
}
// console.log(zhenrong)
console.log("in_for_i", zhenrong[0]['颜色1'])
}
console.log(zhenrong)
console.log(zhenrong[0])
console.log("setcolor_over",zhenrong[0]['颜色1'])
console.log("setcolor_over", zhenrong[0].yanse)
return zhenrong
}