Estoy tratando de obtener la lista de documentos de una colección pero tengo el error de fuera de rango. Puede ver la función que devuelve la lista y la salida después.
Future<List> getPreAppliedUserList() async { try { List? userList = [""]; QuerySnapshot querySnapshot = await _db!.collection(_preAppliedUserCollection).get(); List allData = querySnapshot.docs.map((doc) => doc.data()).toList(); print(allData.length); /// 2 for (int i = 0; i <= allData.length; i++) { userList[i] = await allData[i]['customerNumber']; } return userList; } on FirebaseException { print("getPreAppliedUserList error"); var x; ///todo return x; } }Error:
Error: RangeError (index): Index out of range: index should be less than 1: 1Las matrices tienen un índice de 0 y allData.length tiene una longitud de 2. Por lo tanto, debe usar:
for (int i = 0; i < allData.length; i++) { userList[i] = await allData[i]['customerNumber']; } lo que significa eliminar el <= y reemplazarlo con < ya que no tiene un elemento con el índice 2