编写一个名为“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'函数,而不是记录到控制台**应该**返回数组,所以这个函数是有用的 –