Добрый вечер, есть два массива, нужно сделать один массив, но чтобы значения не совпадали, т.е. в массивах может быть два значения "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());
});
Что делать
Внятно, с примерами, описать, чего Вы хотите добиться.
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);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости