function join( x, separator ) {
	var obj;
	if ( hasMethod( x, 'join' ) ) {
		return x.join( separator );
	}
	obj = arraylike2object( x );
	if ( obj.accessorProtocol ) {
		return accessors( obj, separator );
	}
	return indexed( x, separator );
}
Returns a string created by joining array elements using a specified separator.

@param {Collection} x - input array
@param {integer} separator - separator
@returns {string} output string

@example
var x = [ 1, 2, 3, 4 ];

var out = join( x, ',' );
// returns '1,2,3,4'

@example
var x = [ 1, 2, 3, null, undefined, 4 ];

var out = join( x, '-' );
// returns '1-2-3---4'