string split same length

HTML

<script src="https://raw.github.com/documentcloud/underscore/master/underscore-min.js"></script>
<div id="before">
    <span>before:</span><span class="value"></span>
</div>
<div id="after">
    <span>after:</span><span class="value"></span>
</div>
<div id="console">
</div>

JavaScript

$(function() {
    var log = function(){
      $("<p>").text(_(arguments).join("")).appendTo("#console");
    },
        first = function(size) {
        size = size || 1;
        if (this.length < size) {
            return this
        } else {
            return this.slice(0, size);
        }

    },
        last = function(size) {
            size = size || 1;
            if (this.length < size) {
                return this;
            } else {
                return this.slice(this.length - size);
            }
        },
        split = function(size){
            if(this.length < size){
                return [this,null];
            }else{
                return [first.call(this,size),
                        last.call(this,this.length-size)]
            }
           
        },
        sameSize = function(size){
            var result = [];
            log("this=",JSON.stringify(this));
          if(this.length < size){
                result.push(this);
            }else{
                var ary = split.call(this,size);
                result.push(ary[0]);
                if(ary[1]){
                    result.concat(sameSize.call(ary[1],size));
                    log("result=",JSON.stringify(result));
                }
            }
            return result;
        }
        var a = "abcdefxyz";
    log("start");
    $("#before .value").text(a);
    $("#after .value").text(JSON.stringify(sameSize.call(a, 3)));
});