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);
    });
  • 相关阅读:
    移动硬盘和u盘的区别
    U盘文件系统格式
    WARN: Establishing SSL connection
    数据库基本操作命令
    PCM EQ DRC 音频处理
    那些年、那些歌、那些事
    编译与链接
    Flash芯片你都认识吗?
    ACM暑假集训第三周小结
    H
  • 原文地址:https://www.cnblogs.com/Answer1215/p/7623896.html
Copyright © 2011-2022 走看看