如何从javascript中的字符串末尾提取整数

时间:2014-03-04 15:02:23

标签: javascript parseint

我们如何从这样的数据集中提取整数(键)?

data : {
    DAYS7: 234,
    DAYS21: 3456,
    DAYS35: 23456
}

我想将此数据转换为两个数组[7, 21, 35][234, 3456, 23456]

代码:

var a = [], b = [];
for (var key in data) {
  a.push(getIntPart(key));
  b.push(data[key]);
}

function getIntPart(key) {
  key = key.substring(4); //Remove DAYS word
  return parseInt(key);
} 

我认为key.substring(4)不是正确的方法,因为它会因某些其他键而失败。请建议我该如何解决这个问题。

3 个答案:

答案 0 :(得分:1)

您可以使用regular expression

key = (key.match(/\d+$/) || []).pop();

这将匹配\d+字符串末尾($)的所有数字(key)。

答案 1 :(得分:0)

如果仅需要删除每个“DAYS”,请使用简单的replace

a.push(+k.replace('DAYS', ''));

Fiddle

或者,使用您的示例:

function getIntPart(key) {
  key = key.replace('DAYS', '');
  return parseInt(key);
}

答案 2 :(得分:0)

或者你可以在这里使用split并提取第二个标记:

key = key.split(/(\d+)/)[1]