No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso B谩sico de JavaScript

Curso B谩sico de JavaScript

Juan David Castro Gallego

Juan David Castro Gallego

Playground: Arregla el Bug

28/29

Aportes 175

Preguntas 8

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

si le das 鉂わ笍 al meme ayudar谩s a tapar las respuestas para que los futuros estudiantes no se las coman y puedan resolver el ejercicio sin distracciones.

La soluci贸n es simple, basta con cambiar find() por filter(). Recordemos lo 煤ltimo visto:
Find: Retorna solo la primera coincidencia.
Filter: Retorna todas las coincidencias.

Simplifique un poco el c贸digo

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter((car) => car.licensePlate);
}

Gracias a que le铆 los aportes en las clases anteriores, ya ten铆a el conocimiento de que find solo devuelve la primera coincidencia y filter las devuelve todas. As铆 que gracias a los compa帽eras que dejan informaci贸n valiosa. :cowboy_hat_face:

Cambiar el find() por filter y todo el if no tiene caso

function solution(cars) {
  return cars.filter(function (car) {
    return car.licensePlate;
  });
}
export function solution(cars) {
  const lista = cars.filter((car)=>
    car.licensePlate);
  return lista;
}

filter por find y para ahorrar codigo quitamos el else

export function solution(cars) {
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    }
  });
}

COmo simple aporte, este blog es super bueno para leer y abundar mas.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat

Find devuelve el primer elemento que coincida
Filter devuelve un arreglo con los valores que conincidan

驴Cual es la diferencia entre find y filter ?

filter retorna todas las coincidencias y find retorna solo la primer coincidencia.

export function solution(cars) {
  //'.find()' nos regresa el primer elemento que cumpla con la condicion y detiene la busqueda.
  //return cars.find(function (car) {

  //'.filter()' recorre todo el array y regresa todos los elementos que complan con la condicion.
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });
}

Aunque no vi los aportes de mis compaPlatzis. Ya en serio @Platzi deber铆an filter los comentarios para que no veamos la soluci贸n.

Aca dejo una soluci贸n mas corta

export function solution(cars) {
  return cars.filter(car => car.licensePlate);
}
return cars.filter(function (car) {聽 聽 if (car.licensePlate) {聽 聽 聽 return true;聽 聽 } else {聽 聽 聽 return false;聽 聽 } si revisan cual es el m茅todo que mejor se adecua a lo que pide el ejercicio el m茅todo filter permite filtrar todos los objetos que cumplen la condici贸n
otra solucion: ```js export function solution(cars) { let carroConLicencia = cars.filter(function (car) { return car.licensePlate; }); return carroConLicencia; } ```
otra solucion: ```js export function solution(cars) { let carroConLicencia = cars.filter(function (car) { return car.licensePlate; }); return carroConLicencia; } ```export function solution(cars) {聽 let carroConLicencia = cars.filter(function (car) {聽 聽 return car.licensePlate;聽 });聽 return carroConLicencia;}
```js export function solution(cars) { // 馃憞 Este es el c贸digo que no funciona return cars.filter(function (car) { return car.licensePlate; }); } ```
```js export function solution(cars) { // 馃憞 Este es el c贸digo que no funciona return cars.filter(function (car) { if (car.licensePlate) { return true; } else { return false; } }); } ```export function solution(cars) {聽 // 馃憞 Este es el c贸digo que no funciona聽 return cars.filter(function (car) {聽 聽 if (car.licensePlate) {聽 聽 聽 return true;聽 聽 } else {聽 聽 聽 return false;聽 聽 }聽 });}
export function solution(cars) { // 馃憞 Este es el c贸digo que no funciona return cars.filter((cars)=> cars.licensePlate !==undefined)}
![](https://static.platzi.com/media/user_upload/image-94e69cd5-3aae-41d9-9ca7-18df71a8dd4c.jpg)
![](https://static.platzi.com/media/user_upload/image-e2ae1571-758e-4a63-a7e0-4e41376e4470.jpg)
```js function solution(cars) { return cars.filter(function (car) { return car.licensePlate !== undefined; }); } const cars = [ { color: 'red', brand: 'Kia', }, { color: 'gray', brand: 'Chevrolet', licensePlate: 'AAA111', }, { licensePlate: 'RGB255', }, ]; console.log(solution(cars)); ``` En esta versi贸n, `filter` se utiliza para crear un nuevo array que contiene solo los elementos que tienen la propiedad `licensePlate`. La condici贸n en la funci贸n de callback verifica si `car.licensePlate` es diferente de `undefined`. Esto garantiza que solo se incluyan los objetos que tienen la propiedad `licensePlate`.
```js export function solution(cars) { // 馃憞 Este es el c贸digo que no funciona return cars.filter(function (car) { return car.licensePlate != null }); } ```Mi humilde soluci贸n
Les comparto el resultado de mi revisi贸n: 1. Dediqu茅 tiempo a leer y comprender los requisitos del proyecto. 2. Proced铆 a examinar el c贸digo; considero fundamental comprender lo ya existente. En ocasiones, observo a muchos desarrolladores que no se toman el tiempo necesario para entender el c贸digo existente en un proyecto y, en lugar de eso, realizan modificaciones seg煤n su propio criterio. 3. Comprend铆 que solo necesitaba cambiar el m茅todo `.find()` por `.find()`. 4. Optimic茅 el c贸digo para hacerlo m谩s legible y f谩cil de entender. **Resultado:** ```js export function solution(cars) { return cars.filter(function (car) { return car.licensePlate }); } ```
export function solution(cars) {聽 聽 // 馃憞 Este es el c贸digo que no funciona聽 聽 var licePl = cars.filter(function (car) {聽 聽 聽 return car.licensePlate;聽 聽 })聽 聽 聽 return licePl; 聽 }
```js export function solution(cars) { // 馃憞 Este es el c贸digo que no funciona return cars.filter((car) => car.licensePlate) } ```
```js funciton(dejoMiSolucion) = { let filterCar = cars.filter(function (car) { if(car.licensePlate){ return car; } return; }) }; ```
funciton(dejoMiSolucion) = {聽 聽 let filterCar = cars.filter(function (car) {聽 聽 聽 聽 if(car.licensePlate){聽 聽 聽 聽 聽 聽 return car;聽 聽 聽 聽 } return;聽 聽 })};
Mi soluci贸n fue simple `export function solution(cars) {聽 var filtrado = cars.filter(function (carro) {聽 聽 if (carro.licensePlate !== undefined) {聽 聽 聽 return true;聽 聽 }聽 });聽 return filtrado;}`
export function solution(cars) {聽 return cars.filter(function (car) {聽 聽 if (car.licensePlate) {聽 聽 聽 return car;聽 聽 }聽 聽 return; }); }
aqui mi aporte: export function solution(cars) { 聽 return cars.filter ( function (car) {聽 聽 if (car.licensePlate === null) {聽 聽 聽 return false;聽 聽 } else {聽 聽 聽 return car.licensePlate;聽 聽 }聽 });}

脡sta es una forma simple de corregir el bug

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    return car.licensePlate;
  });
}
![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202023-10-12%20104501-5afe6a1d-0a85-4b5c-ac84-1db72decc346.jpg)
![](https://static.platzi.com/media/user_upload/image-ae1042b4-850e-4689-b87f-d6ec9c5485fc.jpg)
ya me hab铆a acostumbrado a la otra interface :(

脡sta es mi soluci贸n al desafio:

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    return car.licensePlate;
  });
}

solution(cars);


Pues es similar al desafio anterior, solo que aca no tenemos que incluir a car.drivingLicense, y el metodo no es find, sino filter. Espero y les pueda ayudar esto:

return cars.filter(function (car) {
        return car.licensePlate ? car.drivingLicense = true : car.drivingLicense = false;
        
    });
export function solution(cars) {
  // Utiliza el m茅todo filter() para obtener todos los objetos que tienen la propiedad licensePlate
  return cars.filter(function (car) {
    return car.licensePlate !== undefined; // Filtra los objetos con licensePlate definido
  });
}

Saludos solo se debe cambiar en la condici贸n del 鈥渞eturn鈥 la funci贸n 鈥渇ind鈥 por la 鈥渇ilter鈥.

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });
}

Yo lo hice asi:

export function solution(cars) {
// 馃憞 Este es el c贸digo que funciona
return cars.filter(function (car) {
return Boolean(car.licensePlate) === true;
});
}

export function solution(cars) {
  var carList = cars.filter((car) => car.licensePlate);
  return carList;
}

Mi respuesta chicos espero que les pueda aportar

export function solution(cars) {
return cars.filter(car => car.licensePlate);
};

Es el primer Playground que paso a la primera鈥 馃榾馃榾馃榾
.

No estuvo tan dif铆cill 馃帀

export function solution(cars) {
 
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });
}

export function solution(cars) {
return cars.filter(function (car) {
return car.licensePlate !== undefined
});
}

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return car;
    } 
  });
}

Creo que el mirar y mirar tanto nos hace perder de vista que el error puede ser algo peque帽o xD. Aqui mi aporte.

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });
}

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    if (car.licensePlate != null || car.licensePlate != undefined ) {
      return true;
    } else {
      return false;
    }
  });
}


export function solution(cars) {
    var encontrarCarro = cars.filter(function (car) {
      return car.licensePlate != null;
    });
  return encontrarCarro;
} 

Mi solucion al reto

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter((car) => car.licensePlate);
}

Aunque tambien se me ocurrio esta otra solucion solo que decidi ver si habia una mas corta o mas simple al momento de resolver el reto.

export function solution(cars) {
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });
}

Esta fue mi soluci贸n 馃憞

function solution(cars) {
  return cars.filter(function (car) {
    return car.licensePlate;
  });
}

As铆 me quedo:

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    return car.licensePlate != null;
  });
}

Mi solucion (consiste en cambiar find() por filter():

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });
}

aqu铆 mi aporte:

<export function solution(cars) {

  return cars.filter(function (cars) {
    if (cars.licensePlate != null) {
      return cars
    }
  });
}> 

export function solution(cars) {
var carrosFiltrados = cars.filter(function(car) {
return car.licensePlate });
}

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });
}

export function solution(cars) {
cars = cars;
console.log(cars);
// 馃憞 Este es el c贸digo que no funciona
var encuentraPlaca = cars.filter(function (articulo) {
return articulo.licensePlate
});
return encuentraPlaca;

}

Mi aporte!

export function solution(cars) {
  return cars.filter(function (car) {
    return car.licensePlate;
  });
}

Debemos cambiar el m茅todo find por el filter, pues find retorna 煤nicamente el primer elemento con esa caracter铆stica que encuentre, mientras que filter retorna el subconjunto de elementos que lo cumplan. En adici贸n, se que lo explique antes, pero ya que null y undefined son valores Flasy, podemos simplemente validar si licensePlate existe, pues si lo hace ser谩 evaluado c贸mo un true.

El problema en la funci贸n es que se est谩 utilizando el m茅todo find en lugar del m茅todo filter. El m茅todo find devuelve el primer elemento que cumple con la condici贸n especificada, pero no filtra el array completo

export function solution(cars) {
  return cars.filter(function (car) {
    return car.hasOwnProperty('licensePlate');
  });
 }

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });

Lo explicaron en los comentarios anteriores: diferenciar .find y .filter

Ac谩 est谩 mi soluci贸n:

export function solution(cars) {
  return cars.filter(function (car) {
    return car.licensePlate;
  });
}

Mi solucion

function solution(cars) {
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });
}

Mi soluci贸n.

function solution(cars) {
    return cars.filter((car) => {
        return !!car.licensePlate
    });
}

Solo cambie el metodo .find por el metodo .filter

export function solution(cars) {
return cars.filter(function(car) {
if(car.licensePlate) {
return true;
} else {return false;
}
} );
}

Mi aporte 馃槂
una solucion un poco mas simplificada, espero les sirva!!

export function solution(cars) {
  return cars.filter(function(car){
    return car.licensePlate ? true : false;
  });
}

otra posible solucion

export function solution(cars) {
  return cars.filter(function(car){
    return car.licensePlate !== null && car.licensePlate !== undefined && car.licensePlate !== false ? true : false;
  });
}

Mi aporte 馃槂

export function solution(cars) {
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });
}

Si bien hay soluciones mucho m谩s optimas, esta es otra:

export function solution(cars) {
  
  let carsWithLicensePlate = cars.filter(function (car){
    if (car.licensePlate !== null && car.licensePlate !== undefined) {
      return car;
      }
  });

  return carsWithLicensePlate;
}

La soluci贸n realmente es de atenci贸n, los cambios son m铆nimos.

function solution(cars) {
    return cars.filter(function (car) {
      if (car.licensePlate) {
        return car.licensePlate;
      }
    });
  } 
export function solution(cars) {
  const carLicenses = cars.filter((car) => car?.licensePlate)
  return carLicenses
}


export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter((car) => { return 'licensePlate' in car});
  
}



export function solution(cars) {
  return cars.filter(el => "licensePlate" in el);
}

Solo es cambiar el find por el filter!

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });
}

Esta es mi respuesta, creo que tal vez por temas de optimizaci贸n seria mejor esta soluci贸n, que solo cambiar el find por un filter

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    return car.licensePlate != undefined
  });
}

Mi soluci贸n:

export function solution(cars) {
  return cars.filter(car => car.licensePlate);
}

Excelente practica!

export function solution(cars) {
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });
}

Hola, as铆 fue como pude resolver el reto:

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    return Boolean(car.licensePlate) === true
    }
  );
}
export function solution(cars) {
  
  return cars.filter(function (car) {
    return car.licensePlate
  });
  
}

Despu茅s de analizar las clases pasadas y sin mirar la respuesta llegu茅 a la soluci贸n, es muy sencillo. Lo m谩s efectivo para resolver cualquier ejercicio es siempre analizar y pensar el paso a paso.

export function solution(cars) {
  return cars.filter(function (car) {
    return car.licensePlate;
  });
}

es un poco complejo javascript

export function solution(cars) {
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    }
  });   
}

Con diferencia el mas facil jajaja

function solution(cars) {
    return cars.filter(function (car) {
      if (car.licensePlate) {
        return true;
      } else {
        return false;
      }
    });
}

const cars = [
    {
      color: 'red',
      brand: 'Kia',
    },
    {
      color: 'gray',
      brand: 'Chevrolet',
      licensePlate: 'AAA111',
    },
    {
      color: 'white',
      brand: 'Chevrolet',
      licensePlate: 'RGB255',
    },
  ];
  
  solution(cars);

Hola a todos aqu铆 esta mi soluci贸n:

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    return car.licensePlate;
  });
}

Llegar hasta aqu铆 resolviendo todos los playgrounds es algo del cual sentirse orgulloso鈥n coraz贸n si se sienten igual.

Bueno lo solucione cambiando el find por el filter jaja

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    return car.licensePlate != null
  });
}

solo modificar por filter para mostrar todo

export function solution(cars) {
// 馃憞 Este es el c贸digo que no funciona
return cars.filter(function (car) {
if (car.licensePlate) {
return true;
} else {
return false;
}
});
}

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    if (car.licensePlate) {
      return true;
    } else {
      return false;
    }
  });
}
export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    return car.licensePlate!=null
  });
}

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(c => c.licensePlate != null);

}
export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(function (car) {
    return car.licensePlate ? true : false
  });
} 
undefined