获取字符串中的所有数字并推送到数组(javascript)

Hel*_*rld 0 javascript arrays string replace numbers

所以,如果我有以下字符串:

'(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'
Run Code Online (Sandbox Code Playgroud)

我可以查看字符串并将字符串中的任何数字推送到一个数组,如下所示:

[01,04,07,10,14]
Run Code Online (Sandbox Code Playgroud)

Jon*_*Jon 5

使用正则表达式:

var numbers = str.match(/\d+/g);
Run Code Online (Sandbox Code Playgroud)

这将导致["01", "04", "07", "10", "14"](字符串数组).如果元素的类型对您很重要,您可以跟进.map(Number)以转换为数字:

var reallyNumbers = str.match(/\d+/g).map(Number);
Run Code Online (Sandbox Code Playgroud)

这将导致[1, 4, 7, 10, 14].

请注意,map在早于版本9的IE中不可用,因此根据您的compat要求,您可能需要填充.在MDN上有一个现成的.