Вы можете использовать Array.every
, если поддерживается:
var equals = array.every(function(value, index, array){
return value === array[0];
});
Альтернативный подход цикла может быть чем-то вроде sort
var temp = array.slice(0).sort();
var equals = temp[0] === temp[temp.length - 1];
Или, если элементы как вопрос, что-то грязное вроде:
var equals = array.join('').split(array[0]).join('').length === 0;
Также работает.
Нет никакой разницы. Ваши измерения в первом случае ошибочны.
Если вы отмените порядок, вы увидите, что тайминги будут противоположными, а sql
будет быстрее, чем table
.
Вы также можете увидеть некоторые улучшения производительности при повторном выполнении в результате некоторых JVM и оптимизации системы.
Если вы хотите получить надежные оценки, запустите программу для каждого сценария отдельно и повторите тайминги несколько раз с помощью timeit
.