getListDouble static method

List<double> getListDouble(
  1. Map? data,
  2. String key
)

Implementation

static List<double> getListDouble(Map? data, String key) {
  List<double> lst = [];
  if (data == null) return lst;
  try {
    var arrKeys = key.split('.');
    if (arrKeys.length == 2) {
      if (data.containsKey(arrKeys[0])) {
        List<dynamic> lstObj = data[arrKeys[0]] as List<dynamic>;
        if (lstObj.isNotEmpty) {
          for (int index = 0; index < lstObj.length; index++) {
            Map map = lstObj[index];
            lst.add(getDouble(map, arrKeys[1], defaultValue: 0));
          }
        }
        return lst;
      }
    } else {
      List<dynamic> lstObj = data[key] as List<dynamic>;
      if (lstObj.isNotEmpty) {
        for (int index = 0; index < lstObj.length; index++) {
          lst.add(toDouble(lstObj[index].toString()));
        }
      }
    }
    return lst;
  } catch (e) {
    return lst;
  }
}