簡體   English   中英

將字符串數組轉換為整數數組

[英]Convert string array to integer array

我有一個像['2', '10', '11']這樣的字符串數組,想知道將它轉換為整數數組的最有效方法是什么。 我應該循環遍歷所有元素並將其轉換為整數還是有一個函數可以做到這一點?

使用map()parseInt()

 var res = ['2', '10', '11'].map(function(v) { return parseInt(v, 10); }); document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')

更簡化的 ES6 箭頭函數

 var res = ['2', '10', '11'].map(v => parseInt(v, 10)); document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')

或使用Number

 var res = ['2', '10', '11'].map(Number); document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')


或者添加+符號將是解析字符串的更簡單的想法

 var res = ['2', '10', '11'].map(v => +v ); document.write('<pre>' + JSON.stringify(res, null, 3) + '<pre>')


僅供參考:正如@Reddy 評論 - map()在舊瀏覽器中不起作用,您要么需要實現它( 修復 Internet Explorer 中的 JavaScript 數組函數(indexOf、forEach 等) )或簡單地使用 for 循環並更新數組。

還有一些其他方法存在於它的文檔中,請查看Polyfill ,感謝@RayonDabre 指出。

您可以使用

var yourArray= yourArray.map(Number);

使用jQuery,你可以使用如下的map方法

$.map(yourArray, function(value,index) { 
     return parseInt(value); 
 });

您可以簡單地使用Number對象。

ḷet res = ['2', '10', '11'].map(Number);

從字符串解析 int 的最簡單方法是在前面添加一個+號:

var res = ['1', '2', '3'].map(function(v){return +v})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM