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);
    });
  • 相关阅读:
    Session的配置
    插件编程小窥
    今日遇到了困难,顺便看了下SMO
    初识三层架构
    .NET文件类库
    JQuery学习笔记
    反射整理学习<二>
    通俗道破单例模式
    菜鸟写代码生成器最后一天完结篇
    卧谈会:委托与事件
  • 原文地址:https://www.cnblogs.com/Answer1215/p/7623896.html
Copyright © 2011-2022 走看看