Tengo un archivo de datos en esta matriz de objetos de [{name,state},{name,state},{name,state},{name,state},{name,state}] Necesito los datos del estado y el número de personas que pertenecen al mismo estado, para eso necesito una matriz de objetos que tengan un estado y se cuente como [{state,count},{state, count},{state,count}] ¿Cómo puedo obtener este reactjs?
Esto no tiene nada que ver con ReactJS, que es una biblioteca para renderizar y administrar la interfaz de usuario. En JS puede usar una función .reduce para hacer eso. Produciré una matriz con [{nombre: cadena, recuento: número}]:
const userArray = [{name: Riya, state: US}, {name: Chris, state: DE}] const stateArray = userArray.reduce((newArray, currentElement) => { const stateExistsIndex = newArray.findIndex((state) => state.name === currentElement.state) if (stateExistsIndex !== -1) { const selectedState = newArray[stateExists] newArray[stateExists] = { name: selectedState.name, count: selectedState.count++ } } else { newArray.push({ name: currentElement.name, count: 1 }) } return newArray }, [])Esto crea una nueva matriz. Recorre la matriz anterior y empuja un elemento a la nueva matriz si aún no existe un estado. Si existe, aumenta su cuenta en 1. Por supuesto, también puede hacerlo en un bucle for-of que podría ser más comprensible.