将数组值从字符串更改为int jQuery

时间:2016-01-05 23:59:28

标签: javascript jquery

如果我有["-2", -1, 0, 1, 2],如何更改数组的值。我从文本框中获取数据,我需要在开头使用一个字符串而不是这个数组。我尝试了parseInt(array)eval(array),但没有任何效果。感谢

5 个答案:

答案 0 :(得分:3)

Unary +可用于将其操作数转换为数字:

array[0] = +array[0];

如果要转换数组中的所有字符串,可以使用map

array = array.map( Number );

答案 1 :(得分:0)

您不会解析整个数组,只需解析它们中的元素。在您的情况下parseInt(array[0])。这将解析数组中第0位的元素(第一个元素)。

编辑:

解析其他数字系统:

// Numbers with a leading 0 use a radix of 8 (octal)
var example = parseInt('0101');
// Numbers that start with 0x use a radix of 16 (hexidecimal)
var example = parseInt('0x0101');
// Numbers starting with anything else assumes a radix of 10
var example = parseInt('101');
// Or you can specify the radix, in this case 2 (binary)
var example = parseInt('0101', 2);

消息来源: http://www.apkapps.link/questions/810611/why-do-we-need-to-use-radix

答案 2 :(得分:0)

在使用每个元素之前,您可以随时在其上运行$('input#asd3').on('load', ... ,这样您就不必担心数字是否为字符串。

答案 3 :(得分:0)

如果您只是想确保所有内容都是数字,那么您可以将所有内容映射到Number()函数:

[-1,0,1,3,4].map(Number)

然而,这将离开" 1.23"为1.23。

要将所有内容都转换为INT,您不能直接将所有内容映射到parseInt(),因为map实际上会传递多个参数,而parseInt将使用额外的参数来[错误地]定义基数。要使其与parseInt一起使用,您需要返回一个仅使用第一个参数调用parse的新函数:

function mapParseInt(x) {
    return parseInt(x,10);
}

["-2", -1, 0, 1, 2.2].map(mapParseInt);

或使用ES2015胖箭头功能:

["-2", -1, 0, 1, 2.2].map( x => parseInt(x,10) )

答案 4 :(得分:0)

要将所有内容都转换为INT,您不能直接将所有内容映射到parseInt(),因为map实际上会传递多个参数,而parseInt将使用额外的参数来[错误地]定义基数。要使它与parseInt一起使用,您需要返回一个仅使用第一个参数调用parse的新函数:  http://www.azar.in/questions/810611/why-do-we-need-to-use-radix