bind, call y apply en javascript
Entender los métodos bind(), call() y apply() en javascript bind() El objeto car guarda los datos de un coche y dispone de un método que devuelve, …
Existen muchas formas de saber si un array tiene elementos duplicados. En la red se pueden encontrar decenas de ejemplos.
El código que se muestra a continuación viene motivado por una necesidad del trabajo. En el momento de escribir el código no sabía exactamente si quería mostrar al usuario un mensaje detallado sobre el elemento o elementos duplicados o, simplemente, mostrar un mensaje genérico advirtiendo que existía algún elemento duplicado.
/**
* @param {Array} arr
* @returns {Boolean}
*/
function hasDuplicateValues(arr) {
let res = {};
arr.map((e) => {
const key = e;
if (!res[key]) {
res[key] = [];
}
res[key].push(e);
});
let keys = Object.keys(res);
keys.forEach((e) => {
if (res[e].length > 1) return true;
});
return false;
}
arr = [1, 2, 3, 4]; // false
arr = [1, 2, 3, 4, 4, 3]; // true
/**
* @param {Array} arr
* @returns {String} info
*/
function hasDuplicateValuesVerbose(arr) {
let res = {};
let info = [];
arr.map((e) => {
const key = e;
if (!res[key]) {
res[key] = [];
}
res[key].push(e);
});
let keys = Object.keys(res);
keys.forEach((e) => {
res[e].length > 1 ? info.push(e) : "";
});
info =
info.length > 1
? "Los siguientes valores están duplicados: " + info.join(", ") + "."
: info.length === 1
? "El valor " + info.join("") + " está duplicado."
: "No hay elementos duplicados.";
return info;
}
arr = [1, 2, 3, 4]; // No hay elementos duplicados.
arr = arr = [1, 2, 3, 4, 3]; // El valor 3 está duplicado.
arr = [1, 2, 3, 4, 3, 3, 2, 5, 1, 1, 1, 1, 6, 6]; // Los siguientes valores están duplicados: 1, 2, 3, 6.
arr = ["Aragón", "Baleares", "Cantabria", "Cantabria", "Cantabria", "Aragón"]; //Los siguientes valores están duplicados: Aragón, Cantabria.
Entender los métodos bind(), call() y apply() en javascript bind() El objeto car guarda los datos de un coche y dispone de un método que devuelve, …
Array En javaScript un array es un objeto que puede contener diversos elementos. Estos elementos no tienen por qué ser todos del mismo tipo: let …