我正在尝试编写一个函数,该函数接受一个值为字符串并返回最长字符串的对象。因为我是JS的新手,所以我对我所缺少的东西感到困惑。谢谢你的帮助!
我觉得.length是问题的一部分,但我不知道如何获得长度。这是我的代码:
var myObj = {first: 'am', second: 'abc', third: 'greg', fourth: 'helpme', fifth: 'phillllll'};
var myFunc = function (object) {
var longestString = object[key];
for (var key in object) {
if (object[key].length > longestString.length) {
longestString = object[key];
}
};
return longestString;
}
答案 0 :(得分:4)
.length
不是问题,你实际上是正确使用它。此外,你没有遗漏任何东西,你只是对逻辑感到困惑,因为你的代码中有 问题......
所以我修了一下(试试这个):
var myObj = {first: 'am', second: 'abc', third: 'greg', fourth: 'helpme', fifth: 'phillllll'};
function myFunc (object) {
var longestString = '';
for (var key in object) {
if (object[key].length > longestString.length) {
longestString = object[key];
}
}
return longestString;
}
alert(myFunc(myObj));
console.log(myFunc(myObj));
为什么这样做?
这是有效的,因为将longestString
初始化为空String是创建稍后将更改的字符串的好方法,这是我将变量的定义更改为,因为变量keys
是{ {3}}直到您到达null,并且您需要同时定义两个变量,因此技术上longestString
为null
。
(顺便说一句,我这样做了,它会在控制台中记录函数的输出并提醒输出。)
你的代码有很多语法错误,作为一个新用户,我认识到你可能并不是全都知道Javascript,但是在大多数浏览器中称为控制台的东西,并且在线在大多数IDE中,您可以使用(如for loop)。
你可以看一下JSBin使用这个新代码。