字符串转换整数 (atoi)+,-号只能有一个,之后的作废 123456789101112131415161718192021222324252627282930313233343536373839/** * @param {string} s * @return {number} */var myAtoi = function (s) { // 忽略空格 let i = 0; while (s[i] === " ") { i++; } s = s.slice(i); // 正负号 let negativeFlag = 1; while (s[0] === "-" || s[0] === "+") { if (s[0] === "-") { negativeFlag *= -1; } s = s.slice(1); } // 计算 let result = 0; for (let i = 0; i < s.length; i++) { if (/[0-9]/.test(s[i])) { result = result * 10 + parseInt(s[i]); } else { break; } } result *= negativeFlag; if (result < -Math.pow(2, 31)) { return -Math.pow(2, 31); } if (result > Math.pow(2, 31) - 1) { return Math.pow(2, 31) - 1; } return result;};console.log(myAtoi("42"));console.log(myAtoi("-42"));