Из того, что я понимаю, вы хотите получить все массивы в new_dataArray, которых нет в old_dataArray, и я предполагаю, что если первый элемент в каждом (элемент 'id-n') одинаков, то то же самое Остальная часть массива. Вы можете сделать это так:
// create an array to store our results:
var results = new Array();
// loop through new_dataArray:
outerloop:
for (var i = 0; i < new_dataArray.length; ++i) {
// loop through old_dataArray to compare the i'th element
// in new_dataArray with each in old_dataArray:
for (var j = 0; j < old_dataArray.length; ++j) {
// check if the ids are the same
if (new_dataArray[i][0] == old_dataArray[j][0])
// yes it's there, so move on to the next element of new_dataArray
continue outerloop;
}
// if we get here, continue outerloop; was never called so
// this element is not in old_dataArray
results.push(new_dataArray[i]);
}
// now results contains all arrays that are in new_dataArray
// but not in old_dataArray
РЕДАКТИРОВАТЬ: Если, однако, вы хотите, чтобы ВСЕ элементы в каждом массиве были равны, а не только первый (id-n) элемент, используйте это:
// create an array to store our results:
var results = new Array();
// loop through new_dataArray:
outerloop:
for (var i = 0; i < new_dataArray.length; ++i) {
// loop through old_dataArray to compare the i'th element
// in new_dataArray with each in old_dataArray:
innerloop:
for (var j = 0; j < old_dataArray.length; ++j) {
// check if the arrays are the same size:
if (new_dataArray[i].length != old_dataArray[j].length)
// no, so they must be different
continue innerloop;
// check if the arrays have the same values
for (var k = 0; k < old_dataArray[j].length; ++k) {
if (new_dataArray[i][k] != old_dataArray[j][k])
// the k'th element is different
continue innerloop;
}
// if we get here, then we have found a match, so move on
continue outerloop;
}
// if we get here, continue outerloop; was never called so
// this element is not in old_dataArray
results.push(new_dataArray[i]);
}
// now results contains all arrays that are in new_dataArray
// but not in old_dataArray