gesplitste string in array

In JS Als u gebruikersinvoer in een array wilt splitsen, wat is er de beste manier om erover te gaan?

Bijvoorbeeld:

entry = prompt("Enter your name")
for (i=0; i<entry.length; i++)
{
entryArray[i] = entry.charAt([i]);
}
// entryArray=['j', 'e', 'a', 'n', 's', 'y'] after loop

Misschien ga ik dit op de verkeerde manier – waarderen elke hulp!


Antwoord 1, Autoriteit 100%

Gebruik de .split()methode. Bij het opgeven van een lege reeks als de separator, retourneert de split()-methode een array met één element per teken.

entry = prompt("Enter your name")
entryArray = entry.split("");

Antwoord 2, Autoriteit 18%

ES6:

const array = [...entry]; // entry="i am" => array=["i"," ","a","m"]

Antwoord 3, Autoriteit 11%

Gebruik var array = entry.split("");


Antwoord 4, Autoriteit 8%

Zorgt u voor niet-Engelse namen? Zo ja, kunnen alle gepresenteerde oplossingen (.Split (”), [… str], array.from (str), enz.) Slechte resultaten geven, afhankelijk van de taal:

"प्रणव मुखर्जी".split("") // the current president of India, Pranab Mukherjee
// returns ["प", "्", "र", "ण", "व", " ", "म", "ु", "ख", "र", "्", "ज", "ी"]
// but should return ["प्", "र", "ण", "व", " ", "मु", "ख", "र्", "जी"]

Overweeg de grafiem-splitterbibliotheek te gebruiken voor een op schone op afstand gebaseerde splitsing:
https://github.com/orling/grapheme-splitter


Antwoord 5, Autoriteit 6%

var foo = 'somestring'; 

// bad example https://stackoverflow.com/questions/6484670/how-do-i-split-a-string-into-an-array-of-characters/38901550#38901550
var arr = foo.split(''); 
console.log(arr); // ["s", "o", "m", "e", "s", "t", "r", "i", "n", "g"]

// good example
var arr = Array.from(foo);
console.log(arr); // ["s", "o", "m", "e", "s", "t", "r", "i", "n", "g"]

// best
var arr = [...foo]
console.log(arr); // ["s", "o", "m", "e", "s", "t", "r", "i", "n", "g"]

Antwoord 6, Autoriteit 4%

U kunt dit proberen:

var entryArray = Array.prototype.slice.call(entry)


Antwoord 7, Autoriteit 4%

… en ook voor degenen die literatuur in CS houden.

array = Array.from(entry);

Antwoord 8, Autoriteit 2%

Gebruik splitMethod:

entry = prompt("Enter your name");
entryArray = entry.split("");

Verwijs String.prototype.split()voor meer info.


Antwoord 9, Autoriteit 2%

ES6 is vrij krachtig in herhering door objecten (snaren, array, kaart, set).
Laten we een Spread Operator gebruiken om dit op te lossen.

entry = prompt("Enter your name");
var count = [...entry];
console.log(count);

Antwoord 10

Je kunt het op deze manier proberen:

let entry = prompt("Enter your name") 
let entryArray = entry.split('')
console.log(entryArray)

hier is viool
https://jsfiddle.net/swapanil/Lp1arvqc/17/

Other episodes