- 回文数判断
function isParmse(str) { if(typeof str !== 'string') return false; let i = 0,j = str.length - 1; while(i < j) { if (str.charAt(i) !== str.charAt(j)) return false; i++; j--; } return true; }
- 数值循环中重复数值长度
解释: 例,abcabc 中找出出现的abc的长度 为 3
function strLen(str) { let arr = [],max = 0; for(let i = 0; i<str.length-1; i++) { let index = arr.indexOf(str[i]); if(index !== -1) { arr.splice(index,1); } arr.push(str.charAt(i)); max = Math.max(arr.length,max); } return max; }
- {}()[]闭合符号的判断
解释: 例,([{}]) true, ([)] false
function isValid(str) { let map = { '{': '}', '(': ')', '[': ']' } let stack = []; for(let i=0; i<str.length; i++) { if(map[str[i]]) { stack.push(str[i]); } else if (str[i] !== map[stack.pop()]) { return false; } } return stack.length === 0; }