15.4.4.5 Array.prototype.join(separator)

2010-07-05

string Array.prototype.join(separator:string|mixed)

Convert all elements of this array to a string, optionally seperated by the seperator (which is coerced into a string, once). When separator is undefined, "," is used.

The this value is coerced into an object.

Array.prototype.join.length = 1

Code: (Meta Ecma)
Array.prototype.join = function(separator){
var O = ToObject(this);
var lenVal = O.[[Get]]("length");
var len = ToUint32(lenVal);
if (separator === undefined) separator = ",".
var sep = ToString(separator);
if (len == 0) return '';
var element0 = O.[[Get]]("0");
if (element0 === undefined || element0 === null) var R = "";
else R = ToString(element0);
var k = 1;
while (k < len) {
var S = R + sep;
var element = O.[[Get]](ToString(k));
if (element === undefined || element === null) var next = "";
else var next = ToString(element);
R = S + next;
++k;
}
return R;
}