Je veux une ficelle divisée à chaque personnage et la mettre dans un tableau. La chaîne est:
var string = "hello";
Utilisez-vous le .split()
? Si c'est le cas, comment?
Oui, vous pouvez utiliser:
var str = "hello"; // returns ["h", "e", "l", "l", "o"] var arr = str.split( '' );
Je cherchais un problème similaire … pour se briser sur tous les autres personnages. Après avoir lu sur regex, je suis venu avec ceci:
data = "0102034455dola"; arr = data.match(/../g);
Le résultat est le tableau: ["01","02","03","44","55","do","la"]
Si vous voulez vraiment le faire comme décrit dans le titre, cela devrait fonctionner:
function splitStringAtInterval (string, interval) { var result = []; for (var i=0; i<string.length; i+=interval) result.push(string.substring (i, i+interval)); return result; }
var s= "hello"; s.split("");
Voici une façon simple de le faire avec une boucle while;
function splitStringAtInterval(str, len){ var len = 10; var arr = []; str = str.split(""); while(str.length > len){ arr.push(str.splice(position,len).join("")); } if(str.length > 0)arr.push(str.join("")); return arr; }
Si vous le voulez court et «fonctionnel»:
var input = 'abcdefghijklmn1234567890'; var arr = Array.prototype.slice.call(input), output = []; while (arr.length) output.push(arr.splice(0, 3).join('')); output; // ["abc", "def", "ghi", "jkl", "mn1", "234", "567", "890"]