Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 1
Регистрация: 21.11.2014
Сообщений: 37

Не добавляются уникальные элементы в массив

07.01.2017, 13:29. Показов 1049. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу свой велосипед по удалению одинаковых элементов массива. Как бы при выводе в консоль дубли не попадаются т.е выводится всё как нужно (1, 11, 2, 4, 5, 3). Но при этом в результирующий массив res ничего не попадает. Помогите исправить

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var res = [];
var a = [1, 1, 11, 2, 4, 2, 5, 3, 1];
var N = a.length;
for (i = 0; i < N; i++) {
   f = 1;
   for (j = 0; j < N; j++) 
      if (a[i] == a[j] && i != j) {
         f = 0;
         break;
      }
      if (f == 1){ 
         console.log(a[i]); 
         res.push(a[i]) // в итоговом массиве 1,1,11,2,4,2,5,3,1 -----что не верно
      }
   }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.01.2017, 13:29
Ответы с готовыми решениями:

Найти в массиве повторяющиеся элементы и записать только уникальные элементы в новый массив из первого массива
Всем привет. Можете помочь написать такой алгоритм, нужно в одном массиве найти повторяющиеся элементы, а затем вставить в другой массив...

Не добавляются элементы в динамический массив
блин да что не так то?? пытаюсь добавить элементы в массив, а они ни в какую! #include &quot;processor.h&quot; #include...

Внести в массив только уникальные элементы
Сформировать одномерный массив В из элементов массива A таким образом, чтобы элементы массива А, имеющие одинаковые значения, вносились в...

2
1 / 1 / 1
Регистрация: 21.11.2014
Сообщений: 37
08.01.2017, 17:07  [ТС]
JavaScript
1
2
3
4
5
6
7
8
9
var a = [1, 1, 11, 2, 4, 2, 5, 3, 1];
  for(var i = 0; i < a.length; i++){
    for(var j = i + 1; j < a.length; j++){
      if(a[i] == a[j]){
        a.splice(i, 1);
      };
    };
  };
  console.log(a);
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
09.01.2017, 13:40
Цитата Сообщение от vasily_dumov Посмотреть сообщение
Пишу свой велосипед по удалению одинаковых элементов массива.
Обожаю велосипеды
В вашем варианте сайд эффект(изменяется исходный массив), плюс не сохраняется оригинальная последовательность. Я, конечно же, не спорю - вам виднее какой должен быть результат.
JavaScript
1
2
3
4
5
6
7
var a = [1, 1, 11, 2, 4, 2, 5, 3, 1];
 
var uniq = [];
a.forEach(function(e) {
  if (!uniq.includes(e)) uniq.push(e);
});
console.log(uniq);
без использования #forEach, #includes, да и вообще

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
var Node = function (value, next) {
  this.value = value;
  this.next = next;
}
 
var UniqList = function () { }
 
UniqList.prototype.push = function (value) {
  var newNode = new Node(value);
  if(!this.head) this.head = newNode;
 
  var next = this.head;
  while(next) {
    if(next.value == value) break;
    if(!next.next) next.next = newNode;
    next = next.next;
  }
}
 
UniqList.prototype.toArray = function () {
  var result = [];
  if(this.head) {
    var next = this.head;
    while(next) {
      result.push(next.value);
      next = next.next;
    }
  }
  return result;
}
 
UniqList.fromArray = function (arr) {
  var list = new UniqList();
  arr.forEach(function (e) {
    list.push(e);
  });
  return list;
}
 
console.log(UniqList.fromArray([1, 1, 11, 2, 4, 2, 5, 3, 1]).toArray());
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.01.2017, 13:40
Помогаю со студенческими работами здесь

Массив. Удалить из исходного массива уникальные (не повторяющиеся) элементы
Вводится длина одномерного массива и значения его элементов. Удалить из исходного массива уникальные (не повторяющиеся) элементы. Результат...

Преобразовать одномерный массив, упорядочив уникальные элементы по возрастанию, а прочие - по убыванию
Преобразовать массив таким образом, чтобы сначала в порядке возрастания располагались элементы , которые встречаются один раз , а затем...

Функция, которая разделяет строку по пробелам. В массив добавляются лишние элементы
Здравствуйте. Написал функцию, которая разделяет строку по пробелам (или какому-либо другому символу) и сохраняет эти разделённые слова в...

Из заданного массива случайных чисел записать в результирующий массив только уникальные элементы
Описать целочисленный массив из 20 элементов. Заполнить его случайными значениями в диапазоне от -20 до 20. Записать в результирующий...

Дан двумерный числовой массив размера N*M, необходимо вывести на экран только уникальные элементы
Дан двумерный числовой массив размера N*M, необходимо вывести на экран только уникальные элементы в каждой строке. Под уникальным элементом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru