js for in 循环一个三层的对象,但是到第二层就不能获得value值了,求大神指导
dataSQ:{
"name0": {
"name01": {
"order": 7,
"user": [
51608
]
},
"name02": {
"order": 1,
"user": [
167536
]
},
"name03": {
"order": 3,
"user": [
169896
]
}
}
}
(arrdata)=>{
let arrdataL = Object.keys(arrdata).length;
let keys=[];//定义一个数组用来接受key
let keys2=[];//定义一个数组用来接受key
let values=[];//定义一个数组用来接受value
let values2=[];//定义一个数组用来接受value
for(var key in arrdata){
keys.push(key);
values.push(arrdata[key]);//取得value
console.log(key);// 输出: name0
console.log(arrdata[key]);// 输出object及内容:Object {__ob__: io}
for(var vv in arrdata[key]){
keys2.push(vv);
values2.push(arrdata[vv]);//数组为空
console.log(" "+vv);输出:name01、name02、name03
console.log(" "+arrdata[key].vv);输出:undefined
console.log(" "+arrdata[vv]);输出:undefined
for(var v2 in arrdata[vv]){
// console.log(‘咳咳 这步还没到’);
}
}
}
}
arr(dataSQ);

求大神指导小弟
使用for in进入对象的第一层 获取key和value都没问题
第二层key没有问题,但是value出不来,一开始很简单,并且没有思考的顺手写上console.log(" "+arrdata[vv]),输出undefined,我意识到key为vv的对象在arrdata对象内部的第二层,这样肯定不能直接获取了,于是便有了console.log(" "+arrdata[key].vv);这句,想先获取上一层的value值,在获取这层key去获取这层的value值,但是显然是失败的,我才疏学浅,想请大神出山,解决我这一小小的,但是却让我很扎心的问题吧

拜托了
...全文
相关推荐
js利用for in循环获取 一个对象的所有属性以及值的实例
下面小编就为大家带来一篇js利用for in循环获取 一个对象的所有属性以及值的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
JS递归遍历对象获得Value值方法技巧
主要介绍了JS递归遍历对象获得Value值方法技巧的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法。分享给大家供大家参考,具体如下: [removed] var values=function(object) { var values = []; for (var property in object) values.push(object[property]); return values; } //写成标准的方法(数组是object的一种): function getObjectKeys(object) { var keys = [];
js获取json中key所对应的value值的简单方法
下面小编就为大家带来一篇js获取json中key所对应的value值的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
全面解析JavaScript里的循环方法之forEach,for-in,for-of
主要介绍了全面解析JavaScript里的循环方法之forEach,for-in,for-of的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下


