2015-05-13 69 views
-1

如果过去没有询问过,我会感到惊讶。我无法找到有效的东西。我有一个字符串数组,我想创建一个只有每个元素的最后4个字符的新数组。代码如下。我需要改变以使其工作?在JavaScript中获取数组中每个元素的最后4个字符

for(i=0; i<userScanDataObjects.length;i++){ 
     // if statement used to select every alternative element from the array as th rows are duplicated 
     if (i%2 !==0){ 
      deviceID_raw.push(userScanDataObjects[i].deviceID.value); 
      deviceID.push(deviceID_raw[i].substring(5,8)); 

    } 
+0

在没有看到数据,我不能指出* *所有可能出现的问题,但使用'i'访问'deviceID_raw'将是一个问题。您只访问'userScanDataObjects'的偶数成员,但每次只将一个对象推到'deviceID_raw'上。从第二个对象('i == 2')开始,'i'将会超过'deviceID_raw'的末尾。 ('i == 0'推入'deviceID_raw [0]';'i == 2'推入'deviceID_raw [1]';等等) –

+0

'“”“.match.call(arr,/ \ w {4 } $ [?,]/g' – dandavis

回答

3

您可以根据您的目标浏览器支持/ polyfills使用Array.map。你也可以做到以下几点:

for(var i = 0; i < array.length; ++ i) { 
    array[i] = array[i].substr(-4); 
} 
+0

这对我有效,谢谢。 – kurious

6
['11114444', '22224444'].map(function(string) { return string.substring(string.length - 4, string.length) }) 
+0

我试过这个,但是没有为我工作,谢谢你的答案,而且,对于任何读这个的人来说,我可能在执行代码时犯了一个错误。看看它是否适合你 – kurious

相关问题