标签:需要 影响 遍历 positive isp pre round margin 说明
/** * @param {string} str * @return {number} */ var myAtoi = function (str) { const re = /^[0-9]$/; // 正则匹配每一项是不是数字字符 str = str.trim(); // 字符串前后空格 str = str.split(‘ ‘)[0].split(‘‘); // 通过空格分成子数组取第一项再拆成数组 let positiveNum = true; // 判断是否是正数 let result = 0; // 返回结果 if (str[0] === ‘-‘) { // 如果数组第一项是+-那么删掉第一项并改成正数或复数 positiveNum = false; str.splice(0, 1); } else if (str[0] === ‘+‘) str.splice(0, 1); for (let i = 0; i < str.length; i++) { // 循环数组 if (re.test(str[i])) result += str[i]; // 如果是该项是数字字符,加入result else break; // 一旦出现不算数字字符的 直接退出循环 } result = positiveNum ? parseInt(result) : (0 - parseInt(result)); // 判断结果取正数还是复数 if (result >= 0) return Math.min(result, Math.pow(2, 31) - 1); // 判断两种极限的情况 else return Math.max(result, Math.pow(-2, 31)); };
标签:需要 影响 遍历 positive isp pre round margin 说明
原文地址:https://www.cnblogs.com/lanpang9661/p/12522012.html