[TS] Parse a string to an integer
Posted Answer1215
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[TS] Parse a string to an integer相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章