Показать сообщение отдельно
  #1 (permalink)  
Старый 07.06.2018, 14:55
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

Соединение массива
Добрый день есть 2 массива с разной длинной массива
Допустим в одном массиве length == 600, в другом length == 50.
массивы примерно выглядят так:

var array = [{name: 'Мешков Андрей Паразитович', data: 'Вредитель'}];
var array2 = [{name: 'Мешков А.П.', teleph: '12345'}];


Нужно создать 3 массив в котором бы совпадали поля name, делаю так:
var array = [{name: 'Мешков Андрей Паразитович', data: 'Вредитель'}];
var array2 = [{name: 'Мешков А.П.', teleph: '12345'}];
var array3 = [];
var array4 = [];
for(i = 0; i < array .length; i++){
	            array3.push(array [i].name.toString().split(' '));
};
// простите за гавнокод
for(i = 0; i < array3.length; i++){
	 if(array3[i].length >= 3){
	       array4.push(array3[i][0]+' ' + array3[i][1][0]+'.'+ array3[i][2][0]+'.');
	 };
};

// в array4 получаем Мешков А.П.
//создаем героический array5 (не бейте меня)
var array5 = []
for(i = 0; i < array .length; i++){
         array5.push(name:array[i] , name2:array4[i], data:data[i]);
}

Теперь как в array5 еще и засунуть teleph из array2 чтоб у него параметр name совпадал c параметром name2 из array5.

А вообще как правильно соеденить 2 массива где совпадают поля. Без вот того что я сверху написал, учитывая что длинна массива не совпадает. Вроде как чтоб была таблица у кого нет номеров телефонов поля пустые у кого есть заполнены в соответсвии с совпадающими именами.
Ответить с цитированием