获取字符串中的所有数字并推送到数组(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:这在几乎所有情况下都不会有区别。但是我相应地扩展了答案。注意。目前来看,这段代码应该被认为是有缺陷的。谢谢。我已经修好了,注意。目前来看,这段代码应该被认为是有缺陷的。谢谢。我已经修好了。嗨,你似乎没有意识到:)嗨,你似乎没有意识到:)