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 split
Method:
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/