Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取字符串中的所有数字并推送到数组(javascript)_Javascript_Arrays_String_Replace_Numbers - Fatal编程技术网

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

获取字符串中的所有数字并推送到数组(javascript),javascript,arrays,string,replace,numbers,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' 我可以查看字符串并将字符串中的任何数字推送到数组中,如下所示: [01,04,07,10,14] 使用正则表达式: var 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'
我可以查看字符串并将字符串中的任何数字推送到数组中,如下所示:

[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中不可用,因此根据您的compat要求,您可能需要polyfill。MDN上有一个现成的。使用正则表达式:

var numbers = str.match(/\d+/g);
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);
});
这将导致
[“01”、“04”、“07”、“10”、“14”]
(字符串数组)。如果元素的类型对您很重要,您可以使用
.map(Number)
将其转换为数字:

var reallyNumbers = str.match(/\d+/g).map(Number);
这将导致
[1,4,7,10,14]

请注意,这在9版之前的IE中不可用,因此根据您的compat要求,您可能需要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);
}
var str='(01)凯尔·霍尔-奥斯卡(04)天鹅座-阿尔特雷奥(07)锻造者-金属(10)托德·特里项目-回归节拍(14)碎玻璃-街头风格';
var nums=str.match(/\d+/g);
对于(变量i=0;i
对于不支持
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);
}
var str='(01)凯尔·霍尔-奥斯卡(04)天鹅座-阿尔特雷奥(07)锻造者-金属(10)托德·特里项目-回归节拍(14)碎玻璃-街头风格';
var nums=str.match(/\d+/g);
对于(变量i=0;i
我想他想要输出数组中的数字。@DaniloValente:几乎在所有情况下都没有区别。但我相应地扩展了答案。我想他想要输出数组中的数字。@DaniloValente:这在几乎所有情况下都不会有区别。但是我相应地扩展了答案。注意。目前来看,这段代码应该被认为是有缺陷的。谢谢。我已经修好了,注意。目前来看,这段代码应该被认为是有缺陷的。谢谢。我已经修好了。嗨,你似乎没有意识到:)嗨,你似乎没有意识到:)