簡體   English   中英

在不使用 split() 或任何內置方法且不超過 1 個參數的情況下,在 Javascript 中將字符串轉換為數組?

[英]Convert a String to an Array in Javascript without using split() or any built-in methods and with no more than 1 parameter?

在 Javascript 中將字符串轉換為數組而不使用 split() 或任何內置方法?

輸入:

str = "Iam a fullstack javascript developer"

輸出:

arr = [ 'Iam', 'a', 'fullstack', 'javascript', 'developer' ]

確認:

console.log(arr[0]) // Iam

 var str="Iam a fullstack javascript developer"; var strCharArr; [...strCharArr]=str; var arr=strCharArr.reduce((acc, cv)=>{if(cv==" ") acc.push(""); else acc[acc.length-1]+=cv; return acc;},[""]); console.log(arr);

[...strCharArr]=str將字符串拆分為字符數組。
reduce以一個包含一個空字符串元素的數組( [""] )開始,
並且要么添加字符,要么在空格的情況下添加一個空字符串元素。

這是解決方案

function stringToArray(str) {
    let arr = [''];
    let j = 0;

    for (let i = 0; i < str.length; i++) {
        if (str.charAt(i) == " ") {
            j++;
            arr.push('');
        } else {
            arr[j] += str.charAt(i);
        }
    }
    return arr;
}

const arr = stringToArray("Iam a fullstack javascript developer")
console.log(arr[0]) // Iam

使用indexOfslice遞歸方法

 str = "Iam a fullstack javascript developer"; const split = (str, arr) => { const index = str.indexOf(" "); if (index > -1) { arr.push(str.slice(0, index)); split(str.slice(index + 1), arr); } else { arr.push(str); } return ""; }; const chunks = (str) => { const arr = []; split(str, arr); return arr; }; console.log(chunks(str));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM