在字符串中在特定索引处多次插入空格javascript p5.js

时间:2016-12-27 08:52:43

标签: javascript string p5.js

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 '

这样的输出

1 个答案:

答案 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]);
}

为什么?

否则索引会混淆,例如在插入一个空格后,所有后续索引都会移动一个。向后迭代可以避免这种情况。