簡體   English   中英

獲取字符串中的所有數字並推送到數組(javascript)

[英]get all numbers in a string and push to an array (javascript)

因此,如果我有以下字符串:

'(01) Kyle Hall - Osc (04) Cygnus - Artereole (07) Forgemasters - Metalic (10) The Todd Terry Project - Back to the Beat (14) Broken Glass - Style of the Street'

我可以查看字符串,並將字符串中的任何數字推入數組,如下所示:

[01,04,07,10,14]

使用正則表達式:

var numbers = str.match(/\d+/g);

這將導致["01", "04", "07", "10", "14"] (字符串數組)。 如果元素的類型對您很重要,則可以使用.map(Number)轉換為數字:

var reallyNumbers = str.match(/\d+/g).map(Number);

這將導致[1, 4, 7, 10, 14]

請注意,在版本9之前的IE中, map不可用,因此根據您的兼容性要求,可能需要使用polyfill。 MDN上有一個現成的。

var str = '(01) Kyle Hall - Osc (04) Cygnus - Artereole (07) Forgemasters - Metalic (10) The Todd Terry Project - Back to the Beat (14) Broken Glass - Style of the Street';
var nums = str.match(/\d+/g);
nums.map(function (num) {
    return parseInt(num, 10);
});

對於不支持Array.prototype.map瀏覽器,請使用以下代碼:

var str = '(01) Kyle Hall - Osc (04) Cygnus - Artereole (07) Forgemasters - Metalic (10) The Todd Terry Project - Back to the Beat (14) Broken Glass - Style of the Street';
var nums = str.match(/\d+/g);
for (var i = 0; i < str.length; i++) {
    str[i] = parseInt(str[i], 10);
}

暫無
暫無

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

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