我想使用jquery或javascript为每个号码添加号码:
如果我输入这个号码:
1, 1, 1, 2, 3, 4, 5, 5, 5, 6, 7, 8, 8, 9, 10 and so on
然后我的预期输出是:
1.1, 1.2, 1.3, 2.1, 3.1, 4.1, 5.1, 5.2, 5.3, 6.1, 7.1, 8.1, 8.2, 9.3, 10.1 and so on
答案 0 :(得分:0)
这确实是你想要的:
var arr = [1, 1, 1, 2, 3, 4, 5, 5, 5, 6, 7, 8, 8, 9, 10];
var newarr = []; check = 0; count = 0;
for(i=0; i<arr.length; i++){
if(check != arr[i]){ count = 1; check = arr[i]; } else { count++; }
newarr.push(check+'.'+count);
}
console.log(newarr);
当然数字应该组合在一起,否则你会得到1.1,1.2,2.1,3.1,1.1,1.2,5.1然后你应该先做arr.sort()
答案 1 :(得分:0)
var arr = [1, 1, 1, 2, 3, 4, 5, 5, 5, 6, 7, 8, 8, 9, 10];
var newArr = [arr[0] + ".1"];
var n = 1;
for (var i = 1; i < arr.length; i++) {
if (arr[i] == arr[i - 1]) {
n++;
}
else {
n = 1;
}
newArr.push(arr[i] + "." + n);
}
console.info(newArr);