如何創建一個函式來將字串“ABCD”轉換為陣列,例如:Javascript 中的 ["A", "AB", "ABC", "ABCD"]?
(我不知道如何用英語準確描述這個程序,所以我只是將問題放在標題中,所以,如果有一個特殊的術語可以知道它會很棒.. :))
uj5u.com熱心網友回復:
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))
uj5u.com熱心網友回復:
一種方法,沒有任何花哨的東西,只是一個基本的for回圈:
var 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);
uj5u.com熱心網友回復:
這邊走...?
console.log( foo('ABCD') );
function foo(str)
{
let res = [], s='';
for (let c of str) res.push( s =c );
return res;
}
或者 ?
const foo = str => Array.from(str,(_,i) => str.slice(0,i 1));
console.log( foo('ABCD') )
uj5u.com熱心網友回復:
一種更具可讀性的方法:
const getProgressiveArray = (string) => {
let concat = '';
const progressiveArray = [];
for (let character of string) {
concat = character;
progressiveArray.push(concat);
}
return progressiveArray;
};
請記住,字串是可迭代的,這使得此類問題更加直接。將此事實與for...of回圈配對,可以產生簡潔易讀的解決方案。
希望這可以幫助。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/532958.html
