简体   繁体   English

获得未定义但我想在 for 循环中使用 else 语句并显示“不存在”。 请帮我解决

[英]Getting undefined but i would like to use else statement inside for loop and display 'not exist' instead. please help me to fix

How can i use else statement in the following, would like to replace undefined to 'not exist', tried but not working.我如何在下面使用 else 语句,想将 undefined 替换为“不存在”,尝试但不起作用。 program: Check a given string contains 2 to 4 numbers of a specified character程序:检查给定字符串是否包含指定字符的 2 到 4 个数字

 function check_char(x, y) { for (var j = 0; j < y.length; j++) { var d = y[j]; } for (var i = 1; i <= 3; i++) { data = x[i] console.log(data) if (data == d) { return d + " exist"; } } } document.write(check_char("Python", "y") + "<br>"); document.write(check_char("JavaScript", "a") + "<br>"); document.write(check_char("Console", "o") + "<br>"); document.write(check_char("Console", "C") + "<br>"); document.write(check_char("Console", "e") + "<br>"); document.write(check_char("JavaScript", "S") + "<br>");

**output:** 
y exist
a exist
o exist
undefined
undefined
undefined

Strictly speaking you don't need the else .严格来说,你不需要else Keep a count of the number of times the character appears in the string.记录字符在字符串中出现的次数。 If the count >= 2 and <= 4 return "exists" otherwise just return "does not exist".如果计数 >= 2 和 <= 4 返回“存在”,否则只返回“不存在”。

You should avoid using document.write .您应该避免使用document.write This example has an extra function that creates some HTML using the string returned from the checkChar function, and then uses insertAdjacentHML to add it to the page.此示例有一个额外的 function,它使用从checkChar function 返回的字符串创建一些 HTML ,然后使用insertAdjacentHML将其添加到页面。

 function checkChar(str, char) { // Initialise the count let count = 0; // Loop over the string - if the // letter in the iteration is the same as // the character increment the count for (const letter of str) { if (letter === char) ++count; } // If the count is within bounds return "exists" if (count >=2 && count <=4) { return `<span class="red">${char}</span> exists`; } // Otherwise return "does not exist" return `<span class="red">${char}</span> does not exist`; } function write(str) { // Create an HTML paragraph string with the string // returned from `checkChar`, and then add that // to the page const para = `<p>${str}</p>`; document.body.insertAdjacentHTML('beforeend', para); } write(checkChar('Python', 'y')); write(checkChar('JavaScript', 'a')); write(checkChar('Console', 'o')); write(checkChar('Console', 'C')); write(checkChar('Console', 'e')); write(checkChar('JavaScript', 'S'));
 .red { color: red; }

try this,尝试这个,

function check_char(x, y) {
  for (var j = 0; j < y.length; j++) {
    var d = y[j];
  }
  for (var i = 1; i <= 3; i++) {
    data = x[i]
    console.log(data)
    if (data == d) {
      return d + " exist";
    }
  }
  return 'not exist';
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM