arr1 = [ { "levelNumber": "2", "name": "abc", }, { "levelNumber": "3", "name": "abc" }, { "levelNumber": "3", "name": "raks", } ]mi matriz de resultados debe tener objetos con max levelNumber, es decir, 3 en este caso.
debería verse como:
resultArr = [ { "levelNumber": "3", "name": "abc" }, { "levelNumber": "3", "name": "raks", } ]tenga en cuenta que aquí levelNumber puede ser cualquier cosa ... ayúdeme con el código genérico de nodejs para obtener objetos de valor máximo duplicados
Primero puede encontrar el nivel máximo de todos los objetos en la matriz y luego filtrar la matriz
arr1 = [ { "levelNumber": "2", "name": "abc", }, { "levelNumber": "3", "name": "abc" }, { "levelNumber": "3", "name": "raks", } ] const maxLevel = String(Math.max(...arr1.map(obj => Number(obj.levelNumber)))) const maxLevelObjects = arr1.filter(obj => obj.levelNumber === maxLevel) console.log(maxLevelObjects); const arr1 = [ { levelNumber: '2', name: 'abc', }, { levelNumber: '3', name: 'abc', }, { levelNumber: '3', name: 'raks', }, ]; const getHighLevelElements = (array) => { if (array.length === 0) return null; array.sort((elem1, elem2) => { if (Number(elem1.levelNumber) < Number(elem2.levelNumber)) { return 1; } if (Number(elem1.levelNumber) > Number(elem2.levelNumber)) { return -1; } return 0; }); return array.filter((elem) => elem.levelNumber === array[0].levelNumber); }; const resultArr = getHighLevelElements([...arr1]); console.log(resultArr);Primero tendría una variable llamada nivel más highestLevel para almacenar el número de nivel más alto que se encuentra en la matriz de objetos (se usará más adelante durante el bucle), recorrer toda la matriz y verificar cada número de levelNumber y almacenar ese número SI el nivel más highestLevel es más bajo que el valor del objeto levelNumber actual. Después de recorrer la matriz y obtener el número real highestLevel alto, volvería a recorrer y solo obtendría los objetos que son equivalentes a mi variable highestLevel