我已经给串"asdlfjsahdkljahskl"并给予阵列[1,2,3,1,7,2,1,2].我的最终输出应为a,sd,lfj,s,ahdklja,hs,kl.
我知道如何拆分字符串,但我不知道如何根据给定的数组比较字符串和剪切
HTML代码
<button onclick="myFunction()">click me</button>
<p id="demo"></p>
Run Code Online (Sandbox Code Playgroud)
JavaScript的
var width = [1,4,2,6,1,1,10,1];
function myFunction() {
var str = "abcdefghijklmnopqrstuvwxyz";
var res = str.split("");
for(var j=0; j.length;j++){
document.write(width[j]);
}
document.getElementById("demo").innerHTML = res;
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助
您可以使用存储值和新长度对字符串进行切片.
var string = "asdlfjsahdkljahskl",
array = [1, 2, 3, 1, 7, 2, 1, 2],
p = 0,
result = array.map(function (a) {
return string.slice(p, p += a);
});
console.log(result);Run Code Online (Sandbox Code Playgroud)
for循环相同
var string = "asdlfjsahdkljahskl",
array = [1, 2, 3, 1, 7, 2, 1, 2],
p = 0,
i = 0,
result = []
for (i = 0; i < array.length; i++) {
result.push(string.slice(p, p + array[i]));
p += array[i];
}
console.log(result);Run Code Online (Sandbox Code Playgroud)