編寫一個名爲「getAllKeys」的函數,該函數返回所有輸入對象的密鑰的數組。在console.log中獲取「未定義」錯誤
示例輸入:
{
name : 'Sam',
age : 25,
hasPets : true
}
函數的返回值(輸出):
['name', 'age', 'hasPets']
不要使用 「Object.keys」 來解決此提示。
我的解決方案如下。
function getAllKeys(obj) {
var arrayToPrint = [];
for (var key in obj) {
arrayToPrint.push(key);
}
console.log(arrayToPrint);
}
obj1 = {
name : 'Sam',
age : 25,
hasPets : true
};
getAllKeys(obj1);
控制檯輸出:
可有人請解釋一下,爲什麼我收到此未定義?
你不'return'什麼。 – zerkms
如果你在控制檯中運行這段代碼,那麼最終的輸出結果是'getAllKeys(obj1);' - 這是'undefined' - 因爲你的函數沒有返回任何東西 - 順便說一句,這是** not一個錯誤** –
然而,你的'getAllKeys'函數,而不是記錄到控制檯**應該**返回數組,所以這個函數是有用的 –