Join Array from startIndex to endIndex

Just slice the array you want out, then join it manually.

var array= ["a", "b", "c", "d"];
var joinedArray = array.slice(1, 3).join("-");

Note: slice() doesn't include the last index specified, so (1, 3) is equivalent to (1, 2).


It works native

["a", "b", "c", "d"].slice(1,3).join("-") //b-c

If you want it to behave like your definition you could use it that way:

Array.prototype.myJoin = function(seperator,start,end){
    if(!start) start = 0;
    if(!end) end = this.length - 1;
    end++;
    return this.slice(start,end).join(seperator);
};

var arr = ["a", "b", "c", "d"];
arr.myJoin("-",2,3)  //c-d
arr.myJoin("-") //a-b-c-d
arr.myJoin("-",1) //b-c-d