在 JavaScript 中验证包含数字的字符串
问题
我们需要编写一个接受字符串str的JavaScript函数。我们的函数应该根据字符串前面的数字来验证字符串中的字母。
我们需要将字符串按数字拆分,然后将数字与以下子字符串中的字符数进行比较。如果它们都匹配,则字符串是有效的,我们应该返回true,否则返回false。
例如-
5hello4from2me
应该返回真
因为当按数字分割时,字符串变成'hello','from','me'并且所有这些字符串的长度都与它们前面的数字相同
示例
以下是代码-
const str = '5hello4from2me'; const validateString = (str = '') => { const lenArray = []; let temp = ''; for(let i = 0; i < str.length; i++){ const el = str[i]; if(+el){ lenArray.push([+el, '']); }else{ const { length: len } = lenArray; lenArray[len - 1][1] += el; }; }; return lenArray.every(sub => sub[0] === sub[1].length); }; console.log(validateString(str));输出结果
以下是控制台输出-
true