正在为我的一个客户编写 JavaScript 插件,在此我需要生成一系列字符串,如“1,2,D,3,4”/“1,D,2,3,4,5,6” .长度可以是 n 个数字。 “D”位置存储在单独的字符串中,如 2,4。在这里,基于这个长度,我们想要生成如下所示
String = 1,2,3,4,5 D 位置:2,4 最终结果应该是:1,D,2,D,3
我试过的东西,
var deletedString = "2,4"
var Values = "1,2,3,4,5,6";
var lengthFromValues = SplitString_ToArray(Values).length;
var deletedArray = splitString_ToArray(deletedString);
var temp_arr = [];
for(var i = 1; i <= lengthFromValues; i++) {
if(deletedArray[i-1] > 0) {
temp_arr.push("D");
} else temp_arr.push(i);
}
alert(temp_arr.toString());
注意:SplitString_ToArray 函数是一个自写函数,它将字符串转换(拆分)为数组。
有人会帮助我吗?
最佳答案
检查这个我已经稍微改变了一个逻辑。实际上,您可以使用 deletedString
值替换 Values
中的值,然后将其转换为数组,然后将数组放回字符串。 jsFiddle
var deletedString = "2,4"
var Values = "1,2,3,4,5,6";
var deletedArray = SplitString_ToArray(deletedString);
var valuesArray = SplitString_ToArray(Values);
var finalLength = valuesArray.length;
for (i=0; i< deletedArray.length; i++){
console.log(deletedArray[i]);
var idxToReplace = parseInt(deletedArray[i]-1); // substract 1, because your indexes are 1-based
valuesArray.splice(idxToReplace,0,'D');
}
// back to string
valuesArray = valuesArray.slice(0, finalLength);
var result = valuesArray.join();
alert(result);
function SplitString_ToArray(inString){
var result = inString.split(',');
console.log(result);
return result;
}
关于javascript - 在中间添加字符串生成序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25094211/