zoukankan      html  css  js  c++  java
  • [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);
    });
  • 相关阅读:
    四则运算
    Git工具学习整理
    java拦截器中使用的动态代理
    Java动态代理
    Git常用命令
    Maven学习
    ruby调用jenkins API使用
    c#认证考试第四章(国庆作业及其总结)
    C#认证考试第三章
    c#认证考试练习题目
  • 原文地址:https://www.cnblogs.com/Answer1215/p/7623896.html
Copyright © 2011-2022 走看看