Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Из массива вытащить одинаковые элементы и записать в другой массив. (https://javascript.ru/forum/misc/59478-iz-massiva-vytashhit-odinakovye-ehlementy-i-zapisat-v-drugojj-massiv.html)

Mess4me 13.11.2015 12:34

Ruslan_Berebnev,
возвращают один и тот же тип?
alert(typeof getCookie('COUNT'));
   alert(typeof parseInt(getCookie('COUNT')));

Ruslan_Berebnev 13.11.2015 12:55

Получилось! Оказывается в getName надо было все пробелы заменить на "+".
Вот рабочий вариант, если кому интересно. Всем спасибо за внимание!
if (!navigator.cookieEnabled) {
  alert('Включите cookie для комфортной работы с этим сайтом');
} else {
  var arrQuantity = [], quantity = [], count;

  function unique(arr) {
    nextVal: for (var i = 0; i < arr.length; i++) {
      var str = arr[i];
      for (var j = 0; j < quantity.length; j++) {
        if (quantity[j] == str) continue nextVal;
      }
      quantity.push(str);
    }
    return quantity;
  }

  function groupArray(arr, val) {
    var object = [];
    for (var i = 0; i < arr.length; i++) {
      if (arr[i] !== val) continue;
      object.push(arr[i]);
    }
    return object;
  }

  setInterval(function() {
    for (var i = getCookie('COUNT'); i >= 1; i--) arrQuantity.push(getCookie('ITEM_NAME_' + i));
    var qua = unique(arrQuantity).length;
    qua > 0 ? $('#count-of-cookie').text('Количество наименований: ' + qua) :
              $('#count-of-cookie').text('Количество наименований: 0');
  }, 300);

  var table, deleteAll;

  table = document.querySelector('#table-item');
  count = parseInt(getCookie('COUNT'), 10);

  deleteAll = function (e) {
    var obj = [], groupObj;
    if (e.target.className !== 'delete-all') return;
    var getName = e.target.parentElement.querySelector('.val-names').innerHTML;
    for (var i = 1; i <= count; i++) obj.push(getCookie('ITEM_NAME_' + i));

    if (obj.length <= 0 || obj == undefined) {
      console.log("Массив пустой");
    } else {
      getName = getName.replace(/\ /g, "+");
      groupObj = groupArray(obj, getName);
      console.log(groupObj);
    }

  }

  //e.target.parentElement.innerHTML = '';
  window.addEventListener('click', deleteAll);
}


Часовой пояс GMT +3, время: 22:33.