2017-03-25 70 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