Javascript 如何动态打印数据的值。数据的位置可以高达N级

Javascript 如何动态打印数据的值。数据的位置可以高达N级,javascript,json,typescript,object,Javascript,Json,Typescript,Object,如何动态打印数据值。数据的位置可以高达N级。 x = { a: { b: { c: { d: { data: 'hello' } } } } } 下面是一个递归javascript函数示例: function find(obj,keyword){ if(obj[keywor

如何动态打印数据值。数据的位置可以高达N级。

x = {
     a: {
        b: {
           c: {
              d: {
                  data: 'hello'
                 }
              }
           }
        }
     }

下面是一个递归javascript函数示例:

function find(obj,keyword){
 if(obj[keyword]){
  return obj[keyword];
 }
 for(key in obj){
  if(typeof obj[key] === 'object'){
    var result=find(obj[key],keyword);
    if(result){
      return result;
    }
  }
 }
 return false;
}
x = {
   a: {
      b: {
         c: {
            d: {
                data: 'hello'
               }
            }
         }
      }
   };
result = find(x,"data");
console.log(result);
  

下面是一个递归javascript函数示例:

function find(obj,keyword){
 if(obj[keyword]){
  return obj[keyword];
 }
 for(key in obj){
  if(typeof obj[key] === 'object'){
    var result=find(obj[key],keyword);
    if(result){
      return result;
    }
  }
 }
 return false;
}
x = {
   a: {
      b: {
         c: {
            d: {
                data: 'hello'
               }
            }
         }
      }
   };
result = find(x,"data");
console.log(result);
  

使用递归函数的方式如下所示:

const x={
a:{
b:{
c:{
d:{
数据:“你好”
}
}
}
}
}
函数getValue(obj){
var keys=Object.keys(obj);
for(键的变量k){
if(对象的类型[键]=“对象”){
返回getValue(对象[键]);
}
else if(键=='data'){
返回obj[键];
}
否则{
返回“未找到”;
}
}
}

console.log(getValue(x))您可以按如下方式使用递归函数:

const x={
a:{
b:{
c:{
d:{
数据:“你好”
}
}
}
}
}
函数getValue(obj){
var keys=Object.keys(obj);
for(键的变量k){
if(对象的类型[键]=“对象”){
返回getValue(对象[键]);
}
else if(键=='data'){
返回obj[键];
}
否则{
返回“未找到”;
}
}
}
console.log(getValue(x))