Je travaille sur ce code où j'ai besoin de filtrer un tableau avec plusieurs éléments identiques, qui ressemble à ceci;JavaScript - Filtrage du tableau avec des éléments identiques
vacant = [
"A510.4 - 0h 45 m",
"A520.6 - 3h 0 m",
"A250.1 - 3h 0 m",
"A340.1 - 3h 15 m",
"A320.2 - 3h 0 m",
"A240.4 - 4h 0 m",
"A210.3 - 4h 0 m",
"A520.5 - 5h 0 m",
"A250.1 - 6h 0 m",
"A240.4 - 7h 0 m",
"A320.6 - 8h 0 m",
"A340.1 - 8h 0 m"]
Les éléments identiques dans le uniqueVacant
- tableau sont les suivants:
A250.1 - 3h 0 m/A250.1 - 6H 0 m
A340.1 - 3 h 15 m/A340.1 - 8h 0 m
A240.4 - 4h 0 m/A240.4 - 7H 0 m
J'ai déjà filtré l'horodatage des éléments de sorte que la seule chose nécessaire est de comparer les noms des éléments;
function getName(str) {
return str.substring(0, str.indexOf('-'));
}
var uniqueVacant = [];
vacant.forEach(function (vacantStr) {
uniqueVacant.push(getName(vacantStr))
});
Les résultats devraient ressembler à ceci, ne laissant que le premier élément avec le même nom et le retrait du second qui imprime plus tard;
uniqueVacant = [
"A510.4 - 0h 45 m",
"A520.6 - 3h 0 m",
"A250.1 - 3h 0 m",
"A340.1 - 3h 15 m",
"A320.2 - 3h 0 m",
"A240.4 - 4h 0 m",
"A210.3 - 4h 0 m",
"A520.5 - 5h 0 m",
"A320.6 - 8h 0 m"]
// Removed A250.1 - 6h 0 m, A340.1 - 8h 0 m, A240.4 - 7h 0 m,
Notez que lorsque la minuterie est en place pour les éléments, ils sont retirés à partir du tableau et après que le deuxième élément avec le même nom doit apparaître à dans le tableau, s'il n'y a pas plus de similitudes à l'intérieur du tableau . Les similitudes varient également d'un jour à l'autre, parfois il n'y a que 2 éléments similaires et d'autres jours il peut être de 8 ou plus.
Un moyen rapide et efficace de le faire?
vous devez trouver l'unique élément est pas? –
@NairAthul J'ai besoin de trouver les éléments identiques à l'intérieur du tableau puis de le filtrer, en ne laissant que le premier élément du même nom et en supprimant le second. – IlariM