javascript - 将字符串数组转换为数字

标签 javascript arrays for-loop parseint

我正在尝试将这个字符串数组(它们都是整数)转换为一个数字数组。出于某种原因,当我使用以下函数时,它不会将数组中的第一个字符串更改为数字。我不确定为什么。谁能给我解释一下?

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();

最佳答案

您可以使用 Number 作为回调将其转换为数字,然后排序。

var listArray = ['7', '4', '2', '12', '9'].map(Number);
console.log(listArray);
listArray.sort(function (a,b) { return a-b; });
console.log(listArray);

或者您可以先排序,因为隐式转换为数字,然后将项目转换为数字。

var listArray = ['7', '4', '2', '12', '9'];
listArray.sort(function (a,b) { return a-b; });
console.log(listArray);
listArray = listArray.map(Number);
console.log(listArray);

关于javascript - 将字符串数组转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39811496/

相关文章:

sql - 如何在for循环中执行多个查询

javascript - React.js : Why child component change parent state?

javascript - Angular:将所有 FormControl 与模型更改同步

javascript - 您是否应该在 Ajax 调用中更新数据库?

C++ : Allocation of an array attribute in a class

javascript - 如何通过值比较合并两个数组 - Google Analytics 和 MongoDB

javascript - react-native-draggable-flatlist 在 ScrollView 中不起作用

ruby-on-rails - 如何在 rails 中组合 2 个数组,使得没有重复项

c - C中的指针与数组,非平凡的区别

python - python 中的生成器比 while 循环更快吗?