【发布时间】:2016-10-01 21:09:48
【问题描述】:
我正在尝试将这个字符串数组(都是整数)转换为数字数组。由于某种原因,当我使用以下函数时,它不会将数组中的第一个字符串更改为数字。我不确定为什么。谁能给我解释一下?
var listArray = ['7', '4', '2', '12', '9'];
function makeNums(){
for(var i = 0; i < listArray.length; i++){
listArray[i] = parseInt(listArray[i], 10);
listArray.sort(function(a,b) { return a - b; });
console.log(listArray[i]);
}
}
makeNums();
【问题讨论】:
-
在将字符串转换为整数之后排序 不是在转换期间。它现在正在尝试对字符串和数字进行排序 :( 它会移动字符串,因此您无法将它们全部转换为整数。
-
你为什么不直接做
listArray.map(function(num){ return 1*num}).sort(function(a,b) { return a - b; }) -
为什么要尝试在循环内排序?
-
为什么你认为你不能使用
map-方法?
标签: javascript arrays for-loop parseint