str = '12512';
indexes = [0, 3]
lngth = 2;
结果应为:str = ' 12 5 12 '
如何在那里添加空格,知道字符长度和它们所在的索引?
我试着用
做for (i=0; i<indexes.length; i++){
var spb = [str.slice(0, indexes[i]), " ", str.slice(indexes[i])].join('');
var spa = [str.slice(0, indexes[i]+lngth), " ", str.slice(indexes[i]+lngth)].join('');
console.log(spb);
console.log(spa);
}
它似乎有效,虽然输出是这样的,因为我需要搜索每个索引:
spa 12 512
spb 12512
spa 12512
spb 125 12
如何制作像' 12 5 12 '
答案 0 :(得分:-1)
你需要向后迭代
for (i = indexes.length - 1; i >= 0; i--) {
str = str.slice(0, indexes[i] + lngth) + " " + str.slice(indexes[i] + lngth);
str = str.slice(0, indexes[i]) + " " + str.slice(indexes[i]);
}
为什么?
否则索引会混淆,例如在插入一个空格后,所有后续索引都会移动一个。向后迭代可以避免这种情况。