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

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

07.01.2017, 13:29. Показов 1071. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru