zones = [ {zone:'A' : price:'20'}, {zone:'B' : price:'20'}, {zone:'C' : price:'20'}, {zone:'A' : price:'20'}, ];esta es mi matriz de objetos, ¿cómo encuentro el valor duplicado si la zona 'A' se repite dos veces? ¿Necesito encontrar eso?
zones = [{ zone: 'A', price: '20' }, { zone: 'B', price: '20' }, { zone: 'C', price: '20' } ]; var result = [] for (let i = 0; i < zones.length; i++) { for (let k = 1; k < zones.length; k++) { if (zones[i].zone === zones[k].zone && i != k && result.indexOf(zones[i].zone) == -1) { result.push(zones[i].zone) console.log(zones[i].zone) } } }Encontré esta respuesta aquí: publicación 1
var zones = [ {zone:'A' : price:'20'}, {zone:'B' : price:'20'}, {zone:'C' : price:'20'}, {zone:'A' : price:'20'}, ]; unique = [...new Set(zones.map(propYoureChecking => propYoureChecking.zone))]; if (unique.length === 1) { console.log(unique); }y para arreglos normales: post 2
Puedes hacerlo de diferentes maneras: aquí hay una (de la publicación):
const arry = [1, 2, 1, 3, 4, 3, 5]; const toFindDuplicates = arry => arry.filter((item, index) => arr.indexOf(item) !== index) const duplicateElementa = tofindDuplicates(arry); onsole.log(duplicateElements); // Output: [1, 3]Su requisito es un poco vago, pero suponiendo que desea encontrar el índice de los objetos duplicados.
zones = [ {zone:'A', price:'20'}, {zone:'B', price:'20'}, {zone:'C', price:'20'}, {zone:'A', price:'20'}, ]; const zoneAIndices = []; zones.forEach((zone, index) => { if( zone.zone === 'A') { zoneAIndices.push(index); } }); Ahora zoneAIndices[1] tiene el índice del elemento duplicado.
Nota:
la matriz de zones que ha definido es incorrecta, en lugar de : entre zone y price debería ser un ,