我使用JS中的splice方法获得了混合结果,并带有以下示例:
var test = function(x){
var f = x.toString().length;
var bb = [];
for (i=0;i<f;i++){bb.push('a');}
console.log(bb);
for (i=bb.length; i>-1; i=i-3){bb.splice(Number((i-2)),1,'b');}
console.log(bb);
};
test (412289847863);
当输入数字的长度为4,7,10,13等时,'bb'的最后一个元素变为'b',我看不清楚原因。在我看来,它应该永远是'a'。为什么不呢?
答案 0 :(得分:0)
根据您的评论,您可以尝试使用此代码。您只需要一个循环并且应该避免拼接,因为它非常昂贵,如果您想一次只替换一个元素,则不需要。
function test(a){
var l = a.toString().length;
var bb = [];
for (var i = l;i>0;i-=1){
bb[i-1] = ((l-i+2)%3!=0)?"a":"b";
}
console.log(bb);
}
test(1343332);