zoukankan      html  css  js  c++  java
  • JavaScript将数组中的字符串转变成整数数字

    JavaScript将数组中的字符串转变成整数数字使用parseInt时的注意

    var arr = ['1', '2', '3']
    console.log(arr.map(parseInt))
    //打印结果: 1,NaN,NaN
    1
    2
    3
    再看另一个例子

    var arr = ['10', '10', '10']
    console.log(arr.map(parseInt))
    //打印结果: 10,NaN,2
    1
    2
    3
    此时发现两个例子打印出不同的结果,产生上面结果的原因是其实map遍历后打印出的顺序是

    parseInt('1', 0); // 1
    parseInt('2', 1); // NaN
    parseInt('3', 2); // NaN

    parseInt(‘10', 0); // 10
    parseInt(‘10', 1); // NaN
    parseInt(‘10', 2); // 2
    1
    2
    3
    4
    5
    6
    7

    再去看一下MDN的官方文档说明
    在这里插入图片描述

    两个例子产生不同结果的具体原因总结为

    1’ radix不能超出范围
    2’ 把’3‘看做二进制,返回十进制数不可实现,因为除了0,1外,其它数字都不是有效二进制数字。


    两个例子产生不同结果的具体原因总结为

    1’ radix不能超出范围
    2’ 把’3‘看做二进制,返回十进制数不可实现,因为除了0,1外,其它数字都不是有效二进制数字。

    现在再来实现将数组中的字符串转变成整数数字,有以下几种方法:

    第一种方法 (改写parseInt的用法, 建议每次遍历时加上radix的数值)

    var arr = ['1', '2', '3']
    console.log(arr.map(i => parseInt(i, 0)));

    第二种方法

    var arr = ['1', '2', '3']
    console.log(arr.map(i => i * 1));
    //或者
    console.log(arr.map(i => i / 1));
    1

    第三种方法

    var arr = ['1', '2', '3']
    console.log(arr.map(i => Math.floor(i)));
    1
    2
    第四种方法

    var arr = ['1', '2', '3']
    console.log(arr.map(Number));
    1
    2
    如有错误或者缺漏,欢迎指点。

  • 相关阅读:
    mysql 常用sql操作总结
    c# 安装windows服务
    c# Ajax后台动态分页
    c# SQLHelper总汇
    C#调用Web Service时的身份验证
    c#定时调用作业
    【转】Powerdesigner逆向工程从sql server数据库生成pdm
    aspx页面@Page指令解析
    C# 简单日志文本输出
    【摘抄】C# DateTime.Now详解
  • 原文地址:https://www.cnblogs.com/onesea/p/13186364.html
Copyright © 2011-2022 走看看