No tienes acceso a esta clase

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

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

3D
2H
52M
10S
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 99

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;
}

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

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

Aca dejo una soluci贸n mas corta

export function solution(cars) {
  return cars.filter(car => 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
  });
} 
export function solution(cars) {
  return cars.filter((car) => car.licensePlate);
}

Si no entiendes lo que hay dentro del filter, es una funcion fecha.
https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Functions/Arrow_functions

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

SOLO ERA CAMBIAR FIND POR FILTER XD

export function solution(cars) {

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

Mi aporte, despu茅s me di cuenta que a煤n se puede mejorar.

function solution(cars) {
    let filtroCarros = cars.filter(function (articulo) {
      return articulo.licensePlate;
    });
    return filtroCarros
  }

no pens茅 que ser铆a as铆 de f谩cil xd

No entiendo estos ejercicios tan f谩ciles a comparaci贸n de otros jajajaja, simplemente hab铆a que 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;
}
});
}

export function solution(cars) {
var found = cars.filter(function (car) {
//If the license plate exists then add a car
if (car.licensePlate) {
return car;
}
})
//Returns the found objects list
return found;
}

export function solution(cars) {
  var filtrados = cars.filter(function (e) {
    return e.licensePlate;
  })
  return filtrados;
}

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

Hola, por aca dejo este aporte, simplifique un poco el codigo.
espero les sirva de ayuda 馃槂

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

mi metodo, me parece mas simple y con solo dos lineas de codigo.

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

Este problema al comienzo lo sent铆 como a trampa porque me pareci贸 muy f谩cil la soluci贸n al problema jajajajaj lo cual a su vez ya que me sali贸 con lo que ten铆a en mente me puse feliz porque ya que me hizo sentir el progreso de lo que estoy estudiando y espero que siga as铆!

reto.

Hola comunidad
.
.
.
.
.
Aqui les dejo mi solucion al desafio.

Saludos

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

Mi soluci贸n.

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 soluci贸n usa el m茅todo filter() para crear un nuevo array con los elementos del array cars que pasan un filtro especificado por la funci贸n de devoluci贸n de llamada proporcionada. La funci贸n de devoluci贸n de llamada toma un objeto car como argumento, y verifica si ese objeto tiene una propiedad licensePlate. Si el objeto tiene esa propiedad, entonces la funci贸n devuelve true, lo que significa que el objeto pas贸 el filtro y debe incluirse en el nuevo array. Si el objeto no tiene la propiedad licensePlate, entonces la funci贸n devuelve false, lo que significa que el objeto no pas贸 el filtro y no debe incluirse en el nuevo array.

cambia find por filter y no hay mas complicaci贸n

Al menos a mi me gusta mas esta forma.

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

function autoFiltrado(car)
{
if (car.licensePlate)
{
return true;
} else
{
return false;
}
}

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

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;
}

});

}

mi solucion al reto

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

export function solution(cars) {
  let hasLicense = cars.filter(f => f.licensePlate)
  return hasLicense
}

Arregla el bug


En esta soluci贸n cambiamos el m茅todo find() por el m茅todo filter().

El m茅todo find consiste en encontrar el primer elemento de un array que cumpla con la condici贸n especificada en la funci贸n (callback). Si ning煤n elemento cumpla con la condici贸n, retornar谩 undefined
Recorriendo Arrays con .find(), .forEach() y .some()

bas谩ndonos en la condici贸n que se nos especifica para el filtrado de los elementos:

 if (car.licensePlate) {
      return true;
    } else {
      return false;
    }

El m茅todo find() retorna solo el primer elemento que cumple la condici贸n y deja de iterar en el resto de los objetos por que su trabajo es coincidir.

Al usar el m茅todo filter(), este iterara cada objeto del array y retornara un nuevo array haciendo valer la condici贸n especificada: true( tiene placa) false ( no tiene plata).

JavaScript

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

Me gusto como quedo, lo mejor que lo pude resolver yo sin que jodieran los locos de los comentarios, disminui lineas de codigo que nunca viene mal

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

esta solucion se podria optimizar de la siguiente forma

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

Nota el => (Arrow function) retorna una funcion, de tal forma que no es requerido especificar 鈥榝unction鈥.
o bien usar el codigo tal cual esta solo cambiar el metodo 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;
    }
  });
} 
export function solution(cars) {
  return cars.filter(e => e.licensePlate)
}
export function solution(cars) {
  return cars.filter(car => car.licensePlate);
}

con Filter , listo

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

export function solution(cars) {
  // Sin el if funciona perfecto
  return cars.filter(function (car) {
    return car.licensePlate
  });
}

Solo era el filter, en lugar de find馃槄

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

El poder de las anotaciones. Cambiar simplemente Find (que devuelve unicamente el primer elemento encontrado) por Filter (que devuelve todos los elementos que cumplan las condiciones).

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;
    }
  });
}

Soluci贸n 馃槃

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


Esta es mi soluci贸n, la verdad lo veo bastante simple pero si tienen ideas de como mejorar el c贸digo lo revisar茅 con gusto 馃槃

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

Bueno como vimos en clases pasadas el find solo se recorre hasa el puno que encuentra la primera coincidencia, mientras que el filter recorre todo el array buscando coincidencias, en el ejercicio solo es cambiar el find por filter

Mi soluci贸n 馃槂

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

Les dejo mi aporte, solo hay que recordar que el FILTER verifica que todos los valores coincidan y el FIND devuelve 煤nicamente el primer valor que encuentre

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) {
return cars.filter((car) => car.licensePlate);
}

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

Mi soluci贸n

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona

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

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

Con funcion de flecha y un if ternario queda mas sencillo.

export function solution(cars) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(
    car => car.licensePlate ? true : false);
}
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;
  });
}

la solucion era mas sencilla de lo que esperaba, pero bueno esta es mi solucion

let solution = []
    let filter = cars.find(function (car) {
        if (car.licensePlate != undefined ) {
          solution.push(car);
        } 
      }
    );
    return solution

La soluci贸n es muy simple pues solo se cambia el find por filter y se retorna como condici贸n la busqueda de la propiedad licensePlante del objeto car

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

Este es el ejercicio que m谩s r谩pido resolv铆鈥

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

Dejo mi soluci贸n al reto:

export function solution(cars) {
  return cars.filter(function (car) {
    return car.licensePlate
    }
  );
}
export function solution(cars) {
  return cars.filter(function (car) {
    //No es necesario validar ya que solamente filtrariamos por el atributo licensePlate
    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) {
  // 馃憞 Este es el c贸digo que no funciona
  return cars.filter(car => 'licensePlate' in car)
}
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;
    }
  });
}
return cars.filter((car)=>{
        if(car.licensePlate){
            return true;
        }else{
            return false;
        }
    })

A mi me sali贸 as铆:
function solution(cars) {
var tienenlicense = cars.filter(function (car) {
return car.licensePlate
});
return tienenlicense;
}

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;
    }
  });
}
const cars = [
  {
    color: 'red',
    brand: 'Kia',
  },
  {
    color: 'gray',
    brand: 'Chevrolet',
    licensePlate: 'AAA111',
  },
  {
    licensePlate: 'RGB255',
  },
];

solution(cars);
**
export function solution(cars) {
  return cars.filter(function (car) {
    return car.licensePlate;
    var x = cars.unshift(solution);
  });
}
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
  var arrayLicense = cars.filter(function (car) {
    if (car.licensePlate != null) {
      return true;
    } else { 
      return false; 
    }

  });

  return arrayLicense;
}

Mi aporte

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

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

mi soluci贸n:

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

Mi aporte

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

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

undefined