javascript - 数组的对象键

标签 javascript arrays object

挑战要求我们根据给定对象的键创建一个数组(不使用Objects.keys)。

这是我的代码:

 function getAllKeys(object){ 
   var array = []; 
   for(var key in object){
   array.push(key);
   return array;     
    } 
      } 

  var myObj={   
  name:"bellamy",  
  age:25 }; 

  getAllKeys(myObj);

由于某种原因,它只返回第一个 key

[ 'name' ]

任何帮助将不胜感激!我确信这是一个简单的修复,只是我作为一个极端新手不知道的一个修复。

最佳答案

您需要将return移到循环之外:

function getAllKeys(object){ 
   var array = []; 
   for(var key in object){
       array.push(key);
   } 
   return array;   
 } 

 var myObj = {   
    name:"bellamy",  
    age:25 
 }; 

 getAllKeys(myObj);

这是因为您的函数在第一次遇到 return 时将立即返回,在您的示例中,它位于循环的第一次迭代中。

关于javascript - 数组的对象键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43021641/

相关文章:

javascript - 在不应用表格布局的情况下在表格中插入类似 div 的元素

javascript - 使用 Sentry 时忽略特定的 CSP 错误

javascript - 如何通过API从S3存储桶下载私有(private)文件

javascript - ReactJS:为什么将值推送到对象中的状态会删除数据?

c++ - 使用结构数组计算?

javascript - Angular 2 json获取数据对象

c - 为什么下面的程序输出是 5,而不是 4?谁能解释一下?

javascript - d3 路径 d = MNaN,NaNLNaN,NaN

r - 带有 ifelse 和两个对象的自定义函数需要以动态方式从正确的列中读取 R

JavaScript 对象的含义