Добрый день,Сравнение двух массивов «строк», чтобы проверить, если они равны
У меня есть два массива строк. Строки - это только числовые даты (например: «01/01/2016» ...).
Я хотел бы знать, есть ли хороший/быстрый способ сравнить два массива и удалить строки из одного массива, которых нет во втором.
Пример:
Первый массив: [ "01/01/2016", "02/02/2015", "03/03/2014"]
Второй массив: [ "01/01/2016 "," 02/02/2015 "]
Строку« 03/03/2014 »следует удалить из первого массива.
Я попытался сделать это, хотя для() петель обеих длин массивов, но это, кажется, очень медленно, потому что массивы большие индексы в каждом, как это (около 1000 +.):
for (var a = 0; a < oilDateArray.length; a++) {
for (var b = 0; b < fuelDateArray.length; b++) {
if (fuelDateArray[b] !== oilDateArray[a]) {
console.log("fuelDateArray not present: " + fuelDateArray[b]);
}
}
}
Есть ли конкретная функция/метод, который я мог бы использовать для ускорения выполнения вышеуказанной операции?
Заранее благодарим за хороший день!
I не думайте, что ответ будет там быстрее. Проверка двух массивов, каждая из которых содержит 1000 строк, с использованием петель(), довольно медленная. –
Можете ли вы обработать свой набор данных, чтобы использовать отсортированные временные метки UNIX? Я могу создать ответ, используя временную сложность «O (n)», если вы можете. – caulitomaz
Я получаю эти даты как данные из веб-службы. Я могу преобразовать его в unix или эпоху, но это, вероятно, будет не очень эффективным способом. –