我对JS很陌生,所以别对我太客气了。我把这个数组放在一个变量中,并试图找到一种更好的方法来编写if语句。因此,如果变量中的名称增长,我就不需要更改if语句,因为它不会被硬编码。
var names = ["beth", "barry", "debbie", "peter"]
if (names[0] && names [1] && names [2] && names [3] {
Do something...
}有些东西告诉我,我需要使用.length属性,但我无法想出如何在该语句中正确使用它。与…有关的东西:
if (names[i] * names.length) {
Do something...
}我知道这是不对的。我认为需要找到每一个的索引并循环它,确保循环不超过数组中的值的数量。
任何帮助都是非常感谢的。提前感谢!
更新:一些用户提醒我,我的问题可能不那么清楚。我已经在这里设置了一个CodePen (http://codepen.io/realph/pen/KjCLd?editors=101),它可以解释我想要实现的目标。
我怎么才能不重复三遍呢?
发布于 2014-07-21 16:59:34
如果我明白的话,你需要这样的东西
var names = ["beth", "barry", "debbie", "peter"];
var notUndefinedNames = names.filter(function(el){return el !== undefined;});
// if all
if (names.length === notUndefinedNames.length) console.log("You're all here. Great! Sit down and let's begin the class.");
// if one or less
else if (notUndefinedNames.length <= 1) console.log("I can't teach just one person. Class is cancelled.");
else console.log("Welcome " + notUndefinedNames.join(', '));https://stackoverflow.com/questions/24870066
复制相似问题