Javascript 如何在嵌套数组中输出键值对中的键

Javascript 如何在嵌套数组中输出键值对中的键,javascript,arrays,key,key-value,Javascript,Arrays,Key,Key Value,在item数组中,有一个名为“folder”的数组,在数组中有“info”的数组。我如何才能只打印键而不打印info数组中的值? 如打印输出“已创建”和“已修改” let项=[ { itemName:'文件夹', 信息: { 创建日期:“2013年8月13日”, 修改:“2017年12月6日” } }, { itemName:'新文件夹', 信息:“ruby文件” }, { itemName:'文档', 信息:“” } ]您可以通过循环数组打印对象键,并使用object.keys()打印键使用

在item数组中,有一个名为“folder”的数组,在数组中有“info”的数组。我如何才能只打印键而不打印info数组中的值? 如打印输出“已创建”和“已修改”

let项=[
{
itemName:'文件夹',
信息:
{
创建日期:“2013年8月13日”,
修改:“2017年12月6日”
}
},
{
itemName:'新文件夹',
信息:“ruby文件”
},
{
itemName:'文档',
信息:“”
}

]
您可以通过循环数组打印对象键,并使用
object.keys()
打印键

使用
forEach
检查每个项目,如果项目的
info
属性是对象,则打印其键

item.forEach(data => {
  if(data.info.constructor === Object) {
    console.log(Object.keys(data.info));
  }
})

查看每个属性,并使用递归函数深入了解:

  let item = [
  {
    itemName: 'folder',
    info:
    {
      created:'August 13 2013',
      modified: 'December 06 2017'
    }
  },
  {
    itemName: 'new folder',
    info: 'ruby files'
  },
  {
    itemName: 'documents',
    info: ''  
  }
];

var console=window.console;

function displayObj(obj) {
    if (obj instanceof Array) {
        for (var i = 0; i < obj.length; i++) {
            console.log('obj['+i+']='+obj[i]);
            displayObj(obj[i]);
        }

    }
    if (obj instanceof Object) {
        for (var p in obj) {
            console.log('obj.'+p+'='+obj[p]);
            displayObj(obj[p]);
        }
    }
}

displayObj(item);
let项=[
{
itemName:'文件夹',
信息:
{
创建日期:“2013年8月13日”,
修改:“2017年12月6日”
}
},
{
itemName:'新文件夹',
信息:“ruby文件”
},
{
itemName:'文档',
信息:“”
}
];
var console=window.console;
功能显示obj(obj){
if(阵列的obj实例){
对于(变量i=0;i{
Object.keys(el).forEach(key=>{
如果(!键[索引])
键[索引]=[];
如果(el[键]的类型=='对象'){
Keys[index].push(Object.Keys(el[key]);
}
否则{
键[索引]。按(键);
}
})
});

尝试像这样迭代(让输入项[0].info)