#javascript
#javascript
Вопрос:
Как я могу удалить дубликат из массива, пока у меня есть функция, сортирующая его. Я использовал функцию пузырьковой сортировки, но когда я пытаюсь использовать другие функции для удаления дубликатов, вызывается ошибка.
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.log(numbers)
Комментарии:
1. @DenizYakupCelik какую ошибку вы получили и почему
sort
функция не может быть использована?
Ответ №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.log(uniqueNames);
Проверьте это руководство: https://www.tutorialrepublic.com/faq/how-to-remove-duplicate-values-from-a-javascript-array.php#:~:text=Answer: Use the indexOf(),from an array in JavaScript.
Комментарии:
1. большое вам спасибо, но как мне включить эту функцию в функцию, которая у меня уже есть
2. потому что ему нужно одновременно обрабатывать и удалять дубликаты. У меня раньше была функция, которая удаляла дубликаты, но я не знаю, как я могу использовать обе функции одновременно
3. @DenizYakupCelik Ваша функция возвращает отсортированный массив, поэтому вы можете использовать его в качестве параметра для этой функции console.log(getUnique(sortarray(numbers))) .
4. Я пробовал. И я не могу показать вам код
5. @DenizYakupCelik Убедитесь, что вы все сделали правильно, я просто проверил код, он работает правильно и возвращает результат [1, 13, 47, 50, 100].