迭代对象内部的对象
Iterate object inside object
我正在使用 Json Object:
var someobj = {
'key':'value',
'key':'value',
'objectkey':{'key':'value','key':'value'}
}
迭代时,我希望在控制台中得到结果.log如下所示:
KEY: key && VALUE: value
KEY: key && VALUE: value
OKEY: key && OKEYVALUE: value
在迭代时,我只得到第一级,我似乎无法将其放入作为对象的值中。我想某种长度可以工作:
EDIT2:现在有了这个内部循环,它会迭代,我得到外部值的字母,内部值被完全记录下来。
var registration_form = {
'registration_form':{
'Display Name':'input',
'Username':{'inpute':'text','id':'some_id'},
'Password':'input',
'Email':'input',
'Captcha':'input'
}
};
function iterateNodes(data) {
for (var key in data){
var obj = data[key];
for(var prop in obj){
if(obj.hasOwnProperty(prop)){
var inobj = obj[prop];
for(var prop in inobj){
console.log(inobj[prop])
}
}else{
console.log(obj)
}
}
}
}
iterateNodes(registration_form);
通常,您可以通过以下方式迭代对象的属性:
for (var k in o) {
if (o.hasOwnProperty(k)) {
console.log('k: ' + k + ', v: ' + o[k])
}
}
因此,您可以使用递归来更深入地了解一个级别
function hasproperty(o) {
if (typeof o === 'object') {
for (var k in o) {
if (o.hasOwnProperty(k)) {
return true;
}
}
}
return false;
};
function iterate(o) {
for (var k in o) {
if (o.hasOwnProperty(k)) {
if (hasproperty(o[k])) {
console.log('within ' + k);
iterate(o[k]);
console.log('exit ' + k);
} else {
console.log('K: ' + k + ', V:' + o[k]);
}
}
}
};
请尝试一下:
<script
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
var someobj = {
'key1':'value1',
'key2':'value2',
'objectkey3':{'key01':'value01','key02':'value02'}
};
jQuery.each(someobj, function(i, val) {
if (typeof val == 'string'){
console.log("key : "+i+" value: "+val);
}else{
jQuery.each(val, function(j, val2) {
console.log("key : "+j+" value: "+val2);
});
}
});
</script>
相关文章:
- 访问JSON对象内部的数组元素
- 如何确定对象内部包含对象的JSON的长度
- 正在更新mongod中两个对象内部的数组
- 如何访问对象内部的“categoryIds”字段/键,该对象包含mongodb's `ObjectId(s)`数
- 在javascript中移动对象内部的元素
- 基于使用angular在下拉列表中选择的对象,迭代对象内部的对象
- 如何清除Javascript对象内部的setTimeout
- 为什么数组在对象内部迭代对象时存储重复值
- 我如何使用D3来强制用户点击g.node对象内部的圆形对象
- 正在获取对象内部数组中的对象总数
- 从对象内部调用knockout.js ko.applyBindings()
- 使用ng-src增强对象内部的数组
- 如何在javascript中从对象内部的数组中获取数据
- 对象内部函数内的对象文本的范围
- 在 Forerunner 数据库集合中创建主键时,key 属性是否可以位于集合对象的对象内部
- 如何过滤对象内部深度堆叠的数据(并在之后编辑删除它)
- 对象内部数组中的角度 ng 重复键
- 访问对象内部的数组
- Jhon Papa Angular Style guide Factory-对象内部的函数未运行
- 检查数组中的项是否存在于对象内部