Сортировка массива и удаление дубликатов без функции сортировки

Как я могу удалить дубликат из массива, пока у меня есть функция, сортирующая его. Я использовал функцию пузырьковой сортировки, но когда я пытаюсь использовать другие функции для удаления дубликатов, возникает ошибка.

function sortarray(array) {
  var done = false;
  while (!done) {
    done = true;
    for (var i = 1; i < array.length; i += 1) {
      if (array[i - 1] > array[i]) {
        done = false;
        var tmp = array[i - 1];
        array[i - 1] = array[i];
        array[i] = tmp;
      }
    }
  }
  return array;
}

var numbers = [100, 100, 13, 1, 47, 50];
sortarray(numbers);
console.info(numbers)

@DenizYakupCelik, какую ошибку вы получили и почему функция sort не может быть использована?

Mauricio Arias Olave 17.12.2020 16:07
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
1 088
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы удалить повторяющиеся элементы из массива, вы можете использовать этот пример.

// Defining function to get unique values from an array
function getUnique(array){
    var uniqueArray = [];
    
    // Loop through array values
    for(i=0; i < array.length; i++){
        if (uniqueArray.indexOf(array[i]) === -1) {
            uniqueArray.push(array[i]);
        }
    }
    return uniqueArray;
}

var names = ["John", "Peter", "Clark", "Harry", "John", "Alice"];
var uniqueNames = getUnique(names);
console.info(uniqueNames);

Проверьте это руководство: https://www.tutorialrepublic.com/faq/how-to-remove-duplicate-values-from-a-javascript-array.php#:~:text=Answer%3A%20Use%20the %20indexOf(), из%20в%20массив%20в%20JavaScript.

большое спасибо, но как мне включить эту функцию в функцию, которая у меня уже есть

Denzell 17.12.2020 10:40

потому что ему нужно сусло и удалить дубликаты в то же время. Раньше у меня была функция, которая удаляла дубликаты, но я не знаю, как я могу использовать обе функции одновременно.

Denzell 17.12.2020 10:41

@DenizYakupCelik Ваша функция возвращает отсортированный массив, поэтому вы можете использовать его в качестве параметра для этой функции console.info(getUnique(sortarray(numbers))).

laurisstepanovs 17.12.2020 10:54

Я пробовал. И я не могу показать вам код

Denzell 17.12.2020 11:03

@DenizYakupCelik Убедитесь, что вы все сделали правильно. Я только что проверил код, он работает правильно и возвращает результат [1, 13, 47, 50, 100].

laurisstepanovs 17.12.2020 11:13

Могу ли я увидеть, как вы это сделали, я действительно борюсь.

Denzell 17.12.2020 11:20

@DenizYakupCelik Проверьте код здесь. pastie.org/p/4uzGbx9KZ3dcn2KfQCqOtI

laurisstepanovs 17.12.2020 11:26

Другие вопросы по теме