我正在使用以下代码:
if (store.getItem('TopicID') != "00")
TopidID 始终是 4 位数字,我需要做的是更改它以检查最后两位数字是否为“00”。
作为上述的一部分,我可以通过添加“.substring(from,to)”来做到这一点,还是我需要将它放入一个变量中然后检查变量?
我正在使用以下代码:
if (store.getItem('TopicID') != "00")
TopidID 始终是 4 位数字,我需要做的是更改它以检查最后两位数字是否为“00”。
作为上述的一部分,我可以通过添加“.substring(from,to)”来做到这一点,还是我需要将它放入一个变量中然后检查变量?
用于if (!/00$/.test(store.getItem('TopicID'))
检查最后 2 位不构成“00”的数字。这样,值的长度store.getItem('TopicID')
无关紧要,您始终检查值的最后两个字符,并且不需要substring
“链接”。
顺便说一句,我应该在这里store.getItem('TopicID')
返回一个String
。
为了完整并回应 Paul Phillips 的评论: in !/00$/.test([somestring])
,/00$/
是一个正则表达式,一个用于描述搜索模式的特殊文本字符串。在这种情况下,这意味着:对于由 产生的字符串store.getItem('TopicID')
,检查是否可以找到 2 个连续的零,其中$
- 符号表示“检查字符串末尾的该模式”。
在“链接”这个主题上更完整:只要要链接的对象包含方法,就可以链接一切。一个完全荒谬的例子:
Number(/00$/.test('0231')) //convert a boolean to a Number
.toFixed(2) //a Number has the toFixed method
.split('.')[1] //toFixed returns a String, which has method split
.substr(1) //the second element is a string, so substr applies
.concat(' world') //still a string, so concat will do
.split(' ') //string, so split works
.join(' hello ') //from split an array emerged, so join applies
;
//=> result of this chain: '0 hello world'
链接它会起作用。提取局部变量也是如此。所以不,你不需要。如果您认为它使代码更具可读性,请执行此操作。
你也可以slice
使用
if (store.getItem('TopicID').slice(2,4) != "00") {
// Do Your Stuff
}
我可以通过添加“.substring(from,to)”来作为上述的一部分吗?
是的你可以。但是,您的语法错误。
if (store.getItem('TopicID').substring( 2 ) != "00")
如果是四位数,你可以使用
if (store.getItem('TopicID') % 100)
var yourString = (store.getItem('TopicID'))
if(yourString.substring((yourString.length - 2), 2) == "00")
上面的代码并不关心你的字符串有多长。它获取最后两位数字并与“00”进行比较