getStr(str) {
if (str) {
str = str.replace(/-/g,'');
console.log(str,'str')
return str;
}
},
这个方法为什么把20220101 的0也去掉了呢?同学们 返回了202211
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
getStr 方法的作用是将字符串中的连字符 - 去除,并返回结果。例如,如果输入字符串为 2022-01-01,则返回的字符串为 20220101。
在你提供的例子中,输入字符串为 2022-11,因此返回值应该为 202211。然而,你提到返回值为 202211,这表明方法返回的字符串并不包含最后一个字符 1。
根据你提供的信息,我猜测可能是在调用 getStr 方法时,输入的字符串 2022-11 实际上被解释成了数字类型,因此数字类型的末尾的 0 被忽略了。如果这个猜测是正确的,那么解决方法就是在输入字符串的两端添加引号,将其转换为字符串类型。例如,应该调用 getStr('2022-11') 而不是 getStr(2022-11)。
根据您提供的代码,将 '-' 字符替换为空字符,因此在执行 str.replace(/-/g,'') 时,会将字符串中所有的 '-' 字符都替换为空字符。
如果输入的字符串是 "2022-01-01",经过替换后,就变成了 "20220101",没有包含任何 '-' 字符。
如果输入的字符串是 "20220101",由于没有 '-' 字符存在,所以替换操作不会有任何效果,返回的仍然是原始字符串 "20220101"。
根据您提供的信息,应该是输入的字符串本身没有包含 '-' 字符,或者在其他地方对字符串进行了处理而导致 '-' 字符被移除了。
这个方法将传入的字符串中的所有连字符(-)替换为空字符串,并返回替换后的结果。根据您提供的信息,您的同学们返回了202211,而不是20220101。
在方法中,对输入的字符串进行了判断 if (str),如果字符串存在(非空),则进行替换操作,否则不做任何处理。所以在传入参数时,请确保参数不是 null、undefined 或者空字符串。
例如,以下调用方式会导致返回结果为 20220101:
const result = getStr("20220101");
console.log(result); // 输出:20220101