Сравнение массивов (javascript , jquery )

519
16 ноября 2017, 06:05

Добрый вечер, есть два массива, нужно сделать один массив, но чтобы значения не совпадали, т.е. в массивах может быть два значения "1000362636:Вася", но в общем это не должно повторяться. Получается массив может быть с цифрами и со словами, т.е. он не должен быть индексный, а ассоционный, т.е. слова. Понимаете?

Написал такую формулу.

var a1=[1000362636:Вася, 1000362636:Вася,1000657019:Петя, 1000777535:Коля];
var a2=[1000362636:Вася, 1000362636:Вася, 1087350196:Вика, 1079746208:Зина];
var Arr1_2=[]; //массив с общими цифрами 
//сравнение массивов, перечисляем массив a1
$.each(a1,function(index1,value1){  
     //перечисляем массив aу
      $.each(a2,function(index2,value2){    
         //ЕСЛИ ЕСТЬ СОВПАДЕНИЕ СОДАЕМ ЕГО В  ОБЩЕМ МАССИВЕ
         if(value1.toString()==value2.toString()){  
            Arr1_2[value2.toString()*1]='';     
            }          
    })
}); 

При этом хочу сразу заметить, конструкция:

Arr1_2.push(value2.toString());

только добавляет, т.е. могут быть дубли в массиве Arr1_2,т.к. индексы у них будут разные. К сожалению, конструкция

Arr1_2[value2.toString()*1]='';

тоже не позволяет убрать дубли. Что делать, помогите, пожалуйста. Как добавлять значения, и отсекать если это значение у же есть в массиве?

$.each(Arr1_2,function(index,value){
      console.log('Индекс: ' + index.toString() + '; Значение: ' +   value.toString());
});
Answer 1

Что делать

Внятно, с примерами, описать, чего Вы хотите добиться.

var a1=[1000362636,1000362636,"петя123",1000777535]; 
var a2=[1000362636,1000362636,1087350196,"петя123"]; 
 
var result = []; 
 
function addUnique(src, dst) { 
  for(var i = 0; i < src.length; i++) { 
    if (dst.indexOf(src[i]) == -1) 
      result.push(src[i]); 
  } 
} 
 
addUnique(a1, result); 
addUnique(a2, result); 
 
console.log(result);

READ ALSO
QIWI API запрос истории платежей

QIWI API запрос истории платежей

Делаю такой запрос (JavaScript)

383
Как сделать круговой прогресс бар на javascript?

Как сделать круговой прогресс бар на javascript?

Как реализовать анимацию кругового прогресс бара на чистом javascript? Интересен момент, как сделать заполнение окружности цветом

292
Регистрация на сайте в Опера 49.0 пишет javascript:void(0)

Регистрация на сайте в Опера 49.0 пишет javascript:void(0)

Всем приветНе могу завершить регистрацию на сайте

264
Как сделать debug серверной функции JS в nodeJS

Как сделать debug серверной функции JS в nodeJS

Доброго времени сутокСлучилось так, что пришлось работать с незнакомым мне JS

334