一个从数据库取回来的对象数组:var data = [{a:1},{a:2}]
for…in遍历
for(let i=0; i < data.length; i++){
let opt = data[i]
for(let key in opt){
console.log(key)
}
}
for…in语句以任意顺序遍历一个对象的可枚举属性。对于每个不同的属性,语句都会被执行。
如果一个对象的属性不是可枚举属性,那么这个属性就会被for…in迭代出来,包括继承的可枚举属性
所以当你遍历时会出现很多莫名其妙的字段:

原因
从数据库取回来的对象数组数据,是指向一个地址(堆栈问题),它里面拥有很多可枚举属性什么的
解决:遍历前使用深拷贝处理
var data = JSON.parse(JSON.stringify([{a:1},{a:2}]))
进行上面处理后,再遍历就正常了~~
最后
以上就是含蓄棉花糖最近收集整理的关于node提取对象数组遍历操作 --深拷贝的全部内容,更多相关node提取对象数组遍历操作内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复