数组删除数字的最后2位数字

时间:2017-01-17 16:19:22

标签: javascript arrays split slice digit

我想创建一个输入数字的程序,例如:12345然后将此数字拆分为2位数字并将其存储在数组中。数组必须如下所示:[0] = 45 [1] = 23 [2] = 1。这意味着数字的分割必须从数字的最后一位开始,而不是从第一位开始。

这就是我现在所拥有的:



var splitCount = []; // This is the array in which we store our split numbers
//Getting api results via jQuery's GET request
$.get("https://www.googleapis.com/youtube/v3/channels?part=statistics&id=UCJwchuXd_UWNxW-Z1Cg-liw&key=AIzaSyDUzfsMaYjn7dnGXy9ZEtQB_CuHyii4poc", function(result) {
    //result is our api answer and contains the recieved data
    //now we put the subscriber count into another variable (count); this is just for clarity
    count = result.items[0].statistics.subscriberCount;
    //While the subscriber count still has characters
    while (count.length) {
        splitCount.push(count.substr(0, 2)); //Push first two characters into the splitCount array from line 1
        count = count.substr(2); //Remove first two characters from the count string
    }       
    console.log(splitCount) //Output our splitCount array
});




但问题是,如果有5个数字,例如:12345,最后一个数字本身就是一个数组:[0] = 12 [1] = 34 [2] = 5但我需要最后一个数组有2位数,第一个应该是一位数,而不是像这样:[0] = 1 [1] = 23 [2] = 45

2 个答案:

答案 0 :(得分:0)

非常粗糙,但这应该可以正常,假设字符串总是数字:

input = "12345"

def chop_it_up(input)
  o = []

  while input.length > 0
    if input.length <= 2
      o << input
    else
      o << input[-2..input.length]
    end
    input = input[0..-3]
    chop_it_up(input)
  end

  return o
end

答案 1 :(得分:0)

我可能会这样做:

int[] fun(int x){
   int xtmp = x;
   int i = 0;
   int len = String.valueOf(x).length(); 
   // this is a function for java, but you can probably find 
   //an equivalent in whatever language you use
   int tab[(len+1)/2];
   while(xtmp > 1){
       tab[i] = xtmp%100;
       xtmp = int(xtmp/100); // here you take the integer part of your xtmp
       ++i;
   }
   return tab;
}