将字符串数组转换为整数数组

34
我已经创建了一个数组:
var endFlowArray = new Array;
for (var endIndex in flowEnd) { // <- this is just some numbers 
    for (var i in dateflow) { // <- same thing 
        var check = $.inArray(flowEnd[endIndex], dateflow[i]);
        if (check >= 0) {
            endFlowArray.push(i);
            flowEnd[endIndex] = null;
        }
    }
}

如何将一个字符串数组转换为:

["286", "712", "1058"]

转换为整数数组,例如:

[286, 712, 1058]

8
很容易解决。使用.push(+i).push(parseInt(i))。只需将字符串转换为整数即可。 - Kevin B
1
我的 endFlowArray 得出了这样的结果。你需要解释一下这个语句。它是如何“得出”的?你使用了 JavaScript 调试器吗?还是 alert?还是其他什么东西? - Chris Eberle
“dateflow”是字符串数组还是数字数组? - gdoron
Kevin B已经解决了它,但我仍然需要知道发生了什么。 - user1170618
展示在数据流中创建字符串,你就得到了答案。 - mplungjan
4个回答

172
var arrayOfNumbers = arrayOfStrings.map(Number);

1
简洁的类型转换方式。 - darth vader

11

在控制台中,字符串通常用引号括起来表示。由此可以推断出变量 是一个字符串类型。将其转换为整数类型后,它将不再是一个字符串,并且也不再有引号。

endFlowArray.push(+i);

您在flowEnddateFlow中的“numbers”实际上是字符串,而不是数字。


4

要转换整个数组的数据类型,我们可以使用 map()

let numberArray = stringArray.map(Number)

1

try this:

let numberArray = stringArray.map(el=>parseInt(el))

完成工作了,但是一些格式调整会更好! :) - pierpytom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接