141 votes

Quelle est la cause de l'erreur `string.split is not a function` ?

Pourquoi est-ce que je reçois...

Uncaught TypeError : string.split n'est pas une fonction

...quand je cours...

var string = document.location;
var split = string.split('/');

257voto

Changez ça...

var string = document.location;

à ce...

var string = document.location + '';

Cela s'explique par le fait que document.location est un Objet de l'emplacement . La valeur par défaut .toString() renvoie l'emplacement sous forme de chaîne, donc la concaténation déclenchera cela.


Vous pouvez également utiliser document.URL pour obtenir une chaîne de caractères.

87voto

chepe263 Points 1326

Peut-être

string = document.location.href;
arrayOfStrings = string.toString().split('/');

en supposant que vous voulez l'url actuelle

14voto

dstarh Points 1666

Exécutez ceci

// you'll see that it prints Object
console.log(typeof document.location);

vous voulez document.location.toString() o document.location.href

9voto

dystroy Points 145126

document.location n'est pas une chaîne.

Vous voulez probablement utiliser document.location.href o document.location.pathname à la place.

1voto

Jonatas AstroPt Points 11

En clausule if, utiliser () . Par exemple :

stringtorray = "xxxx,yyyyy,zzzzz";
if (xxx && (stringtoarray.split(',') + "")) { ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X