我有以下代码片段,
var code = 895804220010013030;
var last = code.slice(-2);
var n = last.includes(00, 01, 10, 11, 20, 21, 30, 31 );
if (n===true) {
alert(n)
} else {
alert('false')
}
但是它调用语法错误,唯一有效的方法是将引号放在数字上
var code = 895804220010013030;
但我需要在不加引号的情况下运行它。
最佳答案
改变这个:
var last = code.slice(-2);
为此:
var last = String(code).slice(-2);
或者这个:
var last = code.toString().slice(-2);
为什么?
因为slice()是 String
的方法,而不是 Number
。它提取字符串的一部分并将其作为新字符串返回,而不修改原始字符串。
更新
基于第一条评论。
var code = 130031;
var last = code.toString().slice(-2);
var n = [00, 01, 10, 11, 20, 21, 30, 31].includes(last);
有关更多信息,请阅读 includes
关于javascript - 如何在 JavaScript 中对数字进行切片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62605370/