Supprimer les doublons d'un array
Bonjour,
Je m'excuse, mais je me prends le choux à faire un truc de pourtant pas très compliqué.
D'abord j'espérais qu'une fonction supprime les doublons dans un array.
Je parcours les inputs et je mets dans un array l'attribut data-family ansi. Puis je stoque les id dans array
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
$(".form-style").on('change',function() {
formData = $(this).serializeArray();
var sList=[];
if(formData.length > 2){
console.log("form-style",formData);
}
console.log("-------");
$(this).find('input:checked').each(function () {
console.log($(this).attr("name") + " - " + $(this).data("family"));
sList.push($(this).data("family"));
});
unique(sList);
console.log(sList);
}) |
Mais il y en a qui on le meme id, c'est à dire que des élémenrs appartiennent à la meme famille.
Par exemple, j'ai ce résultat
Citation:
Array(4) [ 6, 4, 5, 5 ]
mais je dois avoir au final
Citation:
Array(4) [ 6, 4, 5]
Bon, alors j'ai cherché des solutions comme ces fonctions
Code:
1 2 3 4 5 6 7 8 9 10 11
| function unique(list) {
var result = [];
$.each(list, function(i, e) {
if ($.inArray(e, result) == -1) result.push(e);
});
return result;
}
function removeDuplicateInArray(data){
return data.filter((value,index) => data.indexOf(value) === index);
} |
Mais ni l'une, ni l'autre me supprime le 5 en trop.
C'est pourtant pas compliqué, non???
Ou je me plante?