Estoy tratando de eliminar cualquier duplicado de una lista de datos similar a JSON, por lo que si hay dos o más elementos con el mismo nombre, solo quiero conservar uno. Estoy tratando de resolverlo con este enfoque ingenuo. Y cuando trato de enviar (data[i].name, data[i].age) a una matriz vacía newData, el resultado final es solo una matriz vacía. Pero, si la matriz ya tenía algún valor, funciona. Aquí está la consola:
[] //this result is with empty array (9) [1, "player1", 10, "player2", 30] //this result is with newData.push(1);Aquí el código
function someFunction(data) { const newData = []; newData.push(1); for (var i = 0; i < data.length; i++) { for (var j = 0; j < newData.length; j++) { if (i !== j) { if (!newData.includes(data[i].name)) { newData.push(data[i].name, data[i].age); } } } } return newData; }digamos que tengo una lista de datos como esta:
const data = [ { name: "player1", score: 10 }, { name: "player2", score: 30 }, { name: "player1", score: 10 }, ]¿Alguien puede ayudar a explicar? Y se me ocurrió esta idea por mi cuenta, sé que puedo usar algo como array.reduce() o un hashmap, pero realmente quiero saber si puedo hacerlo de esta manera. Además, ¿hay alguna forma de que pueda enviar (data[i].name, data[i].age) a la matriz como un elemento? Creo que estoy agregando dos en una iteración. ¡Gracias!