草庐IT

bool2str

全部标签

javascript - 在 Javascript 中将复杂的字符串表达式解析为 bool 值

我的任务是为复杂的嵌套JSON编写过滤器。为此,我需要评估用户在输入字段中输入的bool表达式。为了这个问题,假设我们得到了以下输入:(Key1="foo"||key2=2&&key3="bar")&&key4=7我设法编写了一个函数来将每个键值对评估为“真”或“假”,并将它们替换为字符串:例如:(True||False&&True)&&True现在我想将这个字符串解析为一个bool表达式。Javascript是否有任何“简单”的方法(内置函数、插件)可以解析此字符串? 最佳答案 通常不建议使用eval(),但也许适合您的情况。更多

javascript - typescript 字符串到 bool 值

我正在尝试将字符串转换为bool值。有几种方法可以做到一种方法是letinput="true";letboolVar=(input==='true');这里的问题是我必须验证输入是真还是假。有没有更优雅的方式,而不是首先验证输入然后进行转换?在.NET中,我们有bool.TryParse如果字符串无效则返回false。typescript中是否有任何等价物? 最佳答案 你可以做这样的事情,你可以有三个状态。undefined表示该字符串不可解析为bool值:functionconvertToBoolean(input:string)

javascript - 为什么在 JS 中 +str 比 str*1 更好地将字符串转换为数字?

假设我有一个字符串,它的值已经是一个数字,例如varstr="1234"现在我想把它转换成数字。到目前为止,我在网上看到了两个技巧,使用一元+:varnum=+str使用乘法运算符*:varnum=str*1我想知道一般来说哪个更好。正如我从此处已接受答案的评论中看到的那样:ConvertingJsonResultstoaDate,似乎最好避免使用*1。这是真的吗?背后的原因是什么? 最佳答案 基本上操作更少。一元加号调用内部的toNumber方法,而乘法运算符也调用toNumber,然后对其进行数学运算。为什么要执行额外的步骤?h

javascript - 当一个是 bool 值时,为什么 JavaScript 在 == 运算符比较中将原始值转换为数字的基本原理?

我知道规则:Ifthetwooperandsarenotofthesametype,JavaScriptconvertstheoperandsthenappliesstrictcomparison.Ifeitheroperandisanumberoraboolean,theoperandsareconvertedtonumbersifpossible;elseifeitheroperandisastring,theotheroperandisconvertedtoastringifpossible.所以,if("true")通过但if("true"==true)失败,因为它的句柄类似于

javascript - 如何创建一个事件监听器来检测 bool 变量是否变为真?

例如,我有varmenu_ready=false;。我有一个ajax函数,它在ajax完成后将menu_ready设置为true://setupeventlistenerhere$(...).load(...,function(){...menu_ready=true;}如何设置等待menu_ready为真的事件监听器? 最佳答案 您不能将事件监听器附加到JavaScript变量本身,但您可以伪造它。使用具有get、set和listen方法的对象,而不是bool变量:functionBool(initialValue){varboo

javascript - promise 解决后 typescript 返回 bool 值

我试图在promise解决后返回一个bool值,但typescript给出了一个错误说“get”访问器必须返回一个值。我的代码看起来像。gettokenValid():boolean{//Checkifcurrenttimeispastaccesstoken'sexpirationthis.storage.get('expires_at').then((expiresAt)=>{returnDate.now(){returnfalse});}此代码用于Ionic3应用程序,存储是IonicStorage实例。 最佳答案 您可以返回解

javascript - 在 TypeScript 中,如何将 bool 值转换为数字,例如 0 或 1

众所周知,类型转换在TypeScript中称为断言类型。以及以下代码部分://thevariablewillchangetotrueatonetimeletisPlay:boolean=false;letactions:string[]=['stop','play'];letaction:string=actions[isPlay];编译时出错Error:(56,35)TS2352:Neithertype'boolean'nortype'number'isassignabletotheother.然后我尝试使用any类型:letaction:string=actions[isPlay]

javascript - switch 语句中的 bool 运算符?

有什么方法可以在句法上使用switch来实现吗?switch(i){case('foo'||'bar'):alert('fooorbar');break;default:alert('notfooorbar');} 最佳答案 switch(i){case'foo':case'bar':alert('fooorbar');break;case'other':default:alert('other');}注意:“其他”不是必需的,我只是展示您也可以使用默认值堆叠案例。 关于javascri

javascript - RegExp.test() 根据调用方式(在哪里?)为相同的 str 返回不同的结果

我刚刚注意到一个奇怪的JS行为导致了一个烦人的错误..基本上,我在if语句中使用RegExp对象(.test()方法)测试str。对于相同的测试字符串,如果在我的代码中只有一个if,则regexp.test()返回true并且可以正常进入if。问题是如果我有一个else(我需要它),出于某种原因,对于相同的str测试,regexp.test()返回false并且它转到else...这是什么行为?我已经运行了很多测试...TL/DR:对于在同一个RegExp上测试的同一个字符串,如果只有一个IF语句,则regexp.test()返回true,但如果我有一个else,它返回false。so

javascript - 返回 bool 值的javascript中的字符串比较

javascript中是否有比较字符串并返回bool值的函数?我找到了.match但它返回匹配的字符串。我希望有别的东西,这样我在比较字符串时会有更少的代码。因为我想检查一个字符串是否有这个词并继续否则没有。谢谢 最佳答案 您可以使用返回bool值的RegExtest()方法:/a/.test('abcd');//returnstrue. 关于javascript-返回bool值的javascript中的字符串比较,我们在StackOverflow上找到一个类似的问题: