Я думаю, что вы забыли поставить -1 в
for(var j = 0;j<this.length - 1;j++)
for(var i = 0;i<this.values1.length -1;i++)
когда вы говорите
i < this.length
для i = this.length вы пытаетесь получить доступ к элементу, который не существует в массиве.
A = ['I','M]
A.length = 2
A[0] = 'I
A[1]= 'M'
но A [2] не определено, потому что его нет в A
Более того, я думаю, что вы забыли поместить переменную, где вы хотите применить функцию длины, для
for(var j = 0;j<this.length - 1;j++)