JS函数变量中的混合大小写字母

时间:2015-04-21 05:15:49

标签: javascript function mixed-case

/*
CS 22A
Assignment 2
Question 2

Write a function snooze that takes on parameter, day, and
returns a boolean: true if day is a weekend, false if otherwise.
If invalid argument/no argument, return false.
The parameter day may be lowercase, uppercase, or mixed.
*/

function snooze(day){
  day = day || 0;

  var Sat = 'Saturday';
  var Sun = 'Sunday';

  if (day === Sat){
    return true;
  } else if (day === Sat.toUpperCase()){
    return true;
  } else if (day === Sat.toLowerCase()){
    return true;
  } else if (day === Sun){
    return true;
  } else if (day === Sun.toUpperCase()){
    return true;
  } else if (day === Sun.toLowerCase()){
    return true;
  } else {
    return false;
  }
}

console.log(snooze('Monday')) // false
console.log(snooze('tuesday')) // false
console.log(snooze('SUNDAY')) // true
console.log(snooze('Saturday')) // true
console.log(snooze('October')) // false
console.log(snooze()) // false
console.log(snooze('SatUrDaY')) // true

大家好。我对编程有点新意,我现在正在学校上网javascript课程。本周我的任务中的一个问题是创建一个带有参数并返回布尔值的函数,就像我的代码上面的注释中所描述的那样。

我的问题是我不明白如何制作它,所以混合大小写的输入将被理解为小写/大写的对应物。我做了一些谷歌搜索,大多数结果告诉我使用正则表达式,我们还没有涵盖的概念,我会因此而遇到麻烦。有人能否解释我如何处理这个问题?

此外,虽然我在这里 - 有人可以在正确的路径上推动我完成这项任务的最后一个问题吗?

  

您的任务是定义一个带有两个参数的函数计数:word和char。该函数返回字符在给定单词中出现的次数。您可以假设这两个参数都是小写字符串。

同样,我已经搜索了如何解决这个问题,但大多数结果告诉我使用正则表达式或数组,我们还没有在课堂上介绍的概念,我会因此而遇到麻烦。任何帮助,将不胜感激。再次感谢!

5 个答案:

答案 0 :(得分:4)

简单,强制两者都是小写。

if (day.toLowerCase() === Sat.toLowerCase()) {
    //... do stuff
}
//...

答案 1 :(得分:2)

对于不区分大小写的比较,将两个字符串转换为相同的情况进行比较。

答案 2 :(得分:2)

如果您只是将代码更改为day = day.toLowerCase();var sat = "saturday";,然后移除所有其他案例转换,那么一切都会有效。

答案 3 :(得分:1)

它需要是这样的:

Question 2

Write a function snooze that takes on parameter, day, and
returns a boolean: true if day is a weekend, false if otherwise.
If invalid argument/no argument, return false.
The parameter day may be lowercase, uppercase, or mixed.
*/

function snooze(day){
  day = (day || "").toString().toLowerCase();

  var Sat = 'saturday';
  var Sun = 'sunday';

  if (day === Sat){
    return true;
  } else if (day === Sun){
    return true;
  } else {
    return false;
  }
}

console.log(snooze('Monday')) // false
console.log(snooze('tuesday')) // false
console.log(snooze('SUNDAY')) // true
console.log(snooze('Saturday')) // true
console.log(snooze('October')) // false
console.log(snooze()) // false
console.log(snooze('SatUrDaY')) // true

对于您的上一个问题,一种方法是使用带有indexOf()的for循环,将任何索引> = 0传递回' fromIndex'参数。 developer.mozilla.org/en/docs/Web/JavaScript/Reference/...另一种方法是拆分角色,如下所示:"ababccb".split("b").length-1

答案 4 :(得分:1)

/*
CS 22A
Assignment 2
Question 2

Write a function snooze that takes on parameter, day, and
returns a boolean: true if day is a weekend, false if otherwise.
If invalid argument/no argument, return false.
The parameter day may be lowercase, uppercase, or mixed.
*/

function snooze(day){
  day = ('' + day).toLowerCase();  // Converting day to string

  var Sat = 'saturday';
  var Sun = 'sunday';

  if (day === Sat || day === Sun){
    return true;
  } else {
    return false;
  }
}

console.log(snooze('Monday')) // false
console.log(snooze('tuesday')) // false
console.log(snooze('SUNDAY')) // true
console.log(snooze('Saturday')) // true
console.log(snooze('October')) // false
console.log(snooze()) // false
console.log(snooze('SatUrDaY')) // true

就像上面那样。将字符串转换为小写或大写,这样您就不必担心输入格式是否不同