What is causing the error `string.split is not a function`?

Why am I getting...

Uncaught TypeError: string.split is not a function

...when I run...

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

5 Answers

Change this...

var string = document.location; 

to this...

var string = document.location + ''; 

This is because document.location is a Location object. The default .toString() returns the location in string form, so the concatenation will trigger that.


You could also use document.URL to get a string.

7

maybe

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

assuming you want the current url

run this

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

you want document.location.toString() or document.location.href

1

document.location isn't a string.

You're probably wanting to use document.location.href or document.location.pathname instead.

1

In clausule if, use (). For example:

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

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like