code: function add(x, y) {
  	var z = [];
  	var n = Math.max(x.length, y.length);
  	var carry = 0;
  	var i = 0;
  	while (i < n || carry) {
  		var xi = i < x.length ? x[i] : 0;
  		var yi = i < y.length ? y[i] : 0;
  		var zi = carry + xi + yi;
  		z.push(zi % 10);
  		carry = Math.floor(zi / 10);
  		i++;
  	}
  	return z;
  }
docs: Adds two digit arrays, returning the result.