这是我的代码的一部分。我正在做 JavaScript 练习。
switch(size) {
case "big":
var nameSize = "";
if(fNames[i].length > nameSize.length) {
nameSize = fNames[i];
}
console.log("Your Female Big: " + nameSize);
break;
用户通过prompt()
选择“大”大小的名称(数组中较大的字符串)。我试图验证 fNames[i]
是否是我的数组 fNames
中要返回给用户的较大字符串,但不起作用,它返回所有字符串。 。我做错了什么?
----> JSfiddle
更新
此代码有效:
var array = [3, 6, 2, 56, 32, 5, 89, 32];
var largest = 0;
for(i = 0; i < array.length; i++) {
if(array[i] > largest) {
largest = array[i];
}
}
console.log(largest);
(来自codecademy)
我认为这是相同的逻辑。那么为什么我的代码不起作用呢?
最佳答案
我认为你应该添加.length
:
nameSize = fNames[i].length;
如果这种情况发生在循环内,您应该检查最大的长度与循环中的 var 相比:
var name = '';
if(fNames[i].length > name.length) {
name = fNames[i];
}
请注意,在 if
中,您对两个变量都使用了 .length
。
关于javascript - 为什么无法检测到数组中更大的 JavaScript 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21102795/