Количество элементов в списке

#flutter #dart

#флаттер #dart

Вопрос:

У меня есть элемент списка:

var listCodeSensations = [4, 3, 2, 3, 2, 4, 3, 4, 2, 5, 2, 2, 3, 4, 5, 6, 0, 4, 8, 3, 2, 1];

И у меня есть в файле costant эта модель:

   static final List<SensationItem> sensationList = [
    SensationItem(
        code: 0,
        title: 'Formicolio / Intorpidimento'),
    SensationItem(
        code: 1,
        title: 'Sudorazione intensa'),
    SensationItem(
        code: 2, title: 'Dolore al petto'),
    SensationItem(code: 3, title: 'Nausea'),
    SensationItem(code: 4, title: 'Tremori'),
    SensationItem(
        code: 5,
        title: 'Paura di perdere il controllo',
    SensationItem(
        code: 6,
        title: 'Sbandamento / Vertigini'),
    SensationItem(
        code: 7, title: 'Palpitazioni'),
    SensationItem(
        code: 8,
        title: 'Sensazione di soffocamento'),
  ];
}
 

Теперь я должен вставить это в диаграмму (из listCodeSensations), как в следующем примере:

 var dataLine = [
          addCharts('Formicolio / Intorpidimento', 10), //title of sensations, count
          addCharts('Sudorazione intensa', 20), //title of sensations, count
          addCharts('Dolore al petto', 5), //title of sensations, count
          addCharts('Nausea', 14), //title of sensations, count
          addCharts('Tremori', 18), //title of sensations, count
          addCharts('Paura di perdere il controllo', 23), //title of sensations, count
          addCharts('Sbandamento / Vertigini', 6), //title of sensations, count
          addCharts('Palpitazioni', 1), //title of sensations, count
          addCharts('Sensazione di soffocamento', 12), //title of sensations, count
        ];
 

Комментарии:

1. Что вы до сих пор пытались сделать для этого? Также покажите этот код.

Ответ №1:

Код обновлен

 const names = [
  'Formicolio / Intorpidimento',
  'Sudorazione intensa',
  'Dolore al petto',
  'Nausea',
  'Tremori',
  'Paura di perdere il controllo',
  'Sbandamento / Vertigini',
  'Palpitazioni',
  'Sensazione di soffocamento',
];

class SensationItem {
  final int code;
  final String title;

  SensationItem({this.code, this.title});
}

class AnyClass {
  static final sensationList = List<SensationItem>.generate(names.length, (i) => SensationItem(code: i, title: names[i]));
}

class AddCharts {
  final String title;
  final int count;

  AddCharts(this.title, this.count);
}

void main(List<String> args) {
  const data = [4, 3, 2, 3, 2, 4, 3, 4, 2, 5, 2, 2, 3, 4, 5, 6, 0, 4, 8, 3, 2, 1];
  var summary = <int, int>{};
  data.toSet().toList()
    ..sort()
    ..forEach((e) => summary[e] = data.where((i) => i == e).length);

  var dataline = List<AddCharts>.generate(names.length, (i) => AddCharts(names[i], summary[i] ?? 0));
  
  print(summary);
}
 

Результат:

 {0: 1, 1: 1, 2: 6, 3: 5, 4: 5, 5: 2, 6: 1, 8: 1}
 

Комментарии:

1. Хорошо! Если я хочу преобразовать идентификатор с именем элемента из модели?

2. Я внес некоторые улучшения в ваш код (очевидно, я не знаю некоторых классов). Я надеюсь, что это поможет вам.

3. А если я хочу заменить только id на name?

4. О чем id вы говорите? в вашем коде нет переменной с таким именем.