繁体   English   中英

如果字符串小于特定数字,则返回布尔值

[英]Return boolean if a string is less than a certain number JavaScript

我对如何使函数立即返回true / false感到困惑。

我有弦我将拆分。 如果有“。” 并检查它是否小于3,然后将循环直到最后一个值,然后返回是否为true,否则返回false。

如果值之一超过250,它将返回false

 const splitString = "123.123.1".split("."); for (var i = 0; i < 3; i++) { var prefix = parseInt(splitString[i]); console.log(stringCheck(prefix)) } function stringCheck(inputString) { if (inputString < 250) { return true } else { return false } } 

我正在尝试显示字符串是否没有更大的250

看起来像您处理复杂的事情。

您无需循环所有内容。 每当发现问题时,请返回

function check(){
const splitString = "123.123.1".split(".");
for(var k in splitString){
   if(splitString[k] > 250){
    return false;
   }
  }
 return true;
}

您可以使用Array.prototype.some函数(或.every )。 我猜在这种情况下,您正在检查每个值是否小于250,所以您可以这样做:

const splitString = "123.123.1".split(".");
var allBelow = splitString.every(n => {
    var num = parseInt(n); // TODO decide how you want strings parsed into numbers
    return num <= 250;
})

allBelow将为true或false,这取决于每个值是否<= 250。

将值保存在数组中,并使用数组的某些功能:

 const splitString = "123.251.1".split("."); var exceeds = []; for (var i = 0; i < 3; i++) { var prefix = parseInt(splitString[i]); exceeds.push(stringCheck(prefix)); } console.log(exceeds); console.log(exceeds.some(val => val === false)); function stringCheck(inputString) { if (inputString < 250) { return true } else { return false } } 

您只需在错误时返回false

 function stringCheck(inputString) { let parts = inputString.split("."); if (parts.length !== 3) return false; for (var i = 0; i < parts.length; i++) { if (parseInt(parts[i]) > 250) { return false; } } return true; } let str = "123.249.1"; console.log(stringCheck(str)) str = "123.255.1"; console.log(stringCheck(str)) 

暂无
暂无

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

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