编写一个名为“getAllKeys”的函数,它返回所有输入对象键的数组。
示例输入:
{
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);
控制台输出:
有人可以解释一下,为什么我会得到这个未定义的?
答案 0 :(得分:1)
那是因为该功能没有返回任何东西。如果函数显式不返回值,则函数将返回undefined。
您可以从该功能返回arrayToPrint
并登录getAllKeys(obj1)
function getAllKeys(obj) {
var arrayToPrint = [];
for (var key in obj) {
arrayToPrint.push(key);
}
return arrayToPrint; // changed here
}
obj1 = {
name : 'Sam',
age : 25,
hasPets : true
};
console.log(getAllKeys(obj1)); // changed here