【问题标题】:for statement not returning values from arrayfor 语句不从数组返回值
【发布时间】:2013-09-09 12:14:25
【问题描述】:

我正在尝试编写一个函数translate(),它将每个辅音加倍。例如, translate("this is fun") 应该返回字符串“tthiss iss ffunn”。

在我尝试添加数组/秒 for 循环之前,下面的代码运行良好。现在运行时,它会在第二个 for 循环中返回 < 的语法错误吗?这显然不是问题,但经过几次尝试后,我仍然不知道问题到底出在哪里?

任何想法我哪里出错了?提前谢谢你。

var vowel = ['a','e','i','o','u'];

function translate(text) {

var newText = '';
var isVowel = false;

for (var i = 0; i < text.length; i++) {
        isVowel = false;
    for (var x = 0; < vowel.length; x++) {
        if (text[i] == vowel[x]) 
        {
            isVowel = true;
        }
    }
    if (isVowel != true) {
        newText = newText + text[i] + text[i];
    } else {
        newText = newText + text[i];
    }
}
return newText;
}

console.log(translate('cat sat on the mat'));

【问题讨论】:

  • 你少了一个 x;你只有
  • 你少了一个 x。语法可能有误。
  • This clearly isn't the problem 很多人都指出了这个问题。缺少一个 x。

标签: javascript arrays if-statement for-loop syntax


【解决方案1】:

语法错误,因为您忘记了 x

改变

for (var x = 0; < vowel.length; x++) {

for (var x = 0; x < vowel.length; x++) {

【讨论】:

    【解决方案2】:

    您在第二个 forloop 中错过了 x

    你是这样理解的:

    for (var x = 0; < vowel.length; x++)
    

    把它变成这样:

    for (var x = 0; x < vowel.length; x++)
    

    【讨论】:

      猜你喜欢
      • 2015-12-14
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 2022-06-17
      • 1970-01-01
      相关资源
      最近更新 更多