2017-03-25 43 views
0

挑战要求我们从给定对象的键创建数组(不使用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); 

出于某种原因,它只是返回的第一个关键

[ 'name' ] 

任何帮助,将不胜感激!我相信这是一个简单的解决方法,只是我不知道它是一个极端的新手。

+1

从'for'循环中删除'return'关键字。 –

回答

1

您需要将您的循环中您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,它在你的例子是在循环的第一次迭代。

+0

我认为它与循环有关。谢谢! – BellamyGray

+0

没问题 - 我很乐意提供帮助。如果我的答案解决了您的问题,请随时将其标记为已接受,方法是单击答案旁边的复选标记以将其从灰色切换为绿色。 – nb1987