【问题标题】:How can I create a function to convert the string "ABCD" to an array like: ["A", "AB", "ABC", "ABCD"] in Javascript?如何创建一个函数来将字符串 \"ABCD\" 转换为数组,如:[\"A\", \"AB\", \"ABC\", \"ABCD\"] in Javascript?
【发布时间】:2022-11-14 06:24:39
【问题描述】:

如何创建一个函数来将字符串“ABCD”转换为数组,例如:Javascript 中的 ["A", "AB", "ABC", "ABCD"]?


(我不知道如何用英语准确描述这个过程,所以我只是把问题放在标题中,所以,如果有一个特殊的术语可以知道它会很棒.. :))

【问题讨论】:

  • 该术语是“生成字符串的(非空)前缀”。您可以使用循环和字符串 .slice() 方法来完成。
  • forstring::substring 可能有帮助。

标签: javascript arrays string algorithm loops


【解决方案1】:
const s = 'ABCD'

function f(s) {
    return s // = 'ABCD'
        // make array of length s.length
        .split('') // = ['A','B','C','D']
        // map it to slices of length (i+1)
        .map(
            (
                e,// = 'A','B','C','D'
                i, // = 0,1,2,3
            ) => s.slice(0, i + 1)
        ) // = what you said
}

console.log(f(s))

【讨论】:

    【解决方案2】:

        str = 'ABCD'
        var new_str = '';
        var arr_string = new Array();
        
        for (var i = 0; i < str.length; i++) {
            new_str += str.charAt(i);
            arr_string[i] = new_str
        }
        
        console.log(arr_string);

    【讨论】:

      猜你喜欢
      • 2022-11-09
      • 2015-03-11
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多