Javascript按给定的数组元素拆分字符串

dan*_*nny 1 javascript arrays

我已经给串"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)

谢谢您的帮助

Nin*_*olz 5

您可以使用存储值和新长度对字符串进行切片.

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)