Discuss / JavaScript / string2int

string2int

Topic source
'use strict';

function string2int(s) {
    return s.split('')
      .map(function(x){ return x - '0';})
      .reduce(function(x, y){ return x*10+y; });
}

赞一个

廖雪峰

#3 Created at ... [Delete] [Delete and Lock User]

'9' - '0'属于隐式转换,js自动转string到int,还是不符合要求

function string2int(s) {
    return s.split('')
      .map(function(x){ return x.charCodeAt(0) - '0'.charCodeAt(0);})
      .reduce(function(x, y){ return x*10+y; });
}

上面的那个写法可以吗?

廖雪峰

#6 Created at ... [Delete] [Delete and Lock User]

正解!

CantyWei

#7 Created at ... [Delete] [Delete and Lock User]

赞一个赞一个

赞一个+++

U_can

#9 Created at ... [Delete] [Delete and Lock User]
 function string2int(s) {

            var temp= s.split('');
            var arr=temp.map(Number).reduce(function (x,y) {
                   return x*10 + y;
            });

            return arr;

        }

可以直接用temp.map(Number)转为int的吗?

U_can

#10 Created at ... [Delete] [Delete and Lock User]

额,不能使用Number,怪不得。


  • 1
  • 2

Reply