Показать сообщение отдельно
  #6 (permalink)  
Старый 28.07.2018, 14:33
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Если массивы a и b потом не нужны, то эффективнее изменять b а не создавать новый:
var a=[
{date: "19980105", open: 5.995, high: 6, low: 5.995, close: 5.999},
{date: "19980108", open: 5.993, high: 6, low: 5.993, close: 5.999}
], b = [
{date: "19980105"},
{date: "19980106"},
{date: "19980107"},
{date: "19980108"}
];

function fn(a, b) {
  for(var i = 0, j = 0, l = b.length; i < l; i++){
    if (a[j].date === b[i].date) b[i] = a[j++];
    else b[i].empty = true;
  }
  return b
};
var c = fn(a,b);
alert(JSON.stringify(c, null, 4));

Тем более что вариант рони всё рано меняет исходные массивы.)
__________________
29375, 35
Ответить с цитированием