我是靠谱客的博主 含蓄棉花糖,最近开发中收集的这篇文章主要介绍node提取对象数组遍历操作 --深拷贝,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一个从数据库取回来的对象数组: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提取对象数组遍历操作 --深拷贝所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部