用 JavaScript 验证包含数字的字符串
问题
我们需要编写一个 JavaScript 函数,该函数接收一个字符串 str。我们的函数应该根据数字前的字母来验证字符串中的字母。
我们需要根据数字拆分字符串,然后将数字与随后子字符串中的字符数进行比较。如果它们都匹配,则字符串有效,我们应该返回 true,否则返回 false。
例如,−
5hello4from2me
应该返回 true
因为按数字拆分后,字符串变为“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
广告