标签:class char interview int because ber imp reac div
A common interview question is to write? a?function?that?converts? a? string?into?an?integer e.g. "123"
=> 123
.? This? function ?is commonly? called? atoi
because? we? are? converting? an? ASCII? string? into ?an ?integer.
In this lesson we cover the proper way to do this in JavaScript which is parseInt
along with implementing it using basic ascii math.
Writing a function whichi convert string to number, to do that
1. Convert each "string" char to ASCII code by using
str.charCodeAt(index)
2. Each round, we should increase the acc value by *10
function atoi (str: string): number { const zeroCode = ‘0‘.charCodeAt(0); console.log("zeroCode", zeroCode); let sub = 1; if(str[0] === ‘-‘) { sub = -1; str = str.substring(1); console.log("sub string", str); } return sub * str.split(‘‘) .reduce((acc, curr) => { acc = acc * 10 + (curr.charCodeAt(0) - zeroCode) return acc; }, 0) } console.log(atoi("123")); //123 console.log(atoi("-123")); //-123
import { atoi } from ‘./atoi‘; test(‘basic‘, () => { expect(atoi(‘123‘)).toBe(123); expect(atoi(‘-1123‘)).toBe(-1123); });
[TS] Parse a string to an integer
标签:class char interview int because ber imp reac div
原文地址:http://www.cnblogs.com/Answer1215/p/7623896.html