在列表视图中显示Firebase数据,但不包含DUPLICATES

时间:2020-07-14 08:04:20

标签: firebase flutter dart

  1. 从Firebase检索集合时,我正在从一个特定字段“ CATEGORY”中调用数据,如下所示:

    var catList = (querySnapshot.data.documents[index]["Category"]);
    

样本数据: enter image description here

  1. 我通过将其作为对象传递给文本小部件,在ListView构建器中水平显示它。 child: Text(catList), 它显示一切正常。只是一个问题-它包含“重复项”

  2. 如何显示没有重复的数据?

1 个答案:

答案 0 :(得分:0)

您可以通过循环获取数据中的值并检查重复项来创建新变量:(假设catList是要获取的JSON数据所在的变量)

var newCatList = {};
for (var i = 0; i < Object.keys(catList).length; i++) {
  var a = 0;
  if (i = 0) {
    newCatList[0] = catList[0];
  } else {
    for (var j = 0; j < Object.keys(newCatList).length; j++) {
      if (newCatList[j]["Category"] == catList[i]["Category"] && newCatList[j]["Sub-Category"] == catList[i]["Sub-Category"] && newCatList[j]["Model"] == catList[i]["Model"] && newCatList[j]["Color"] == catList[i]["Color"] && newCatList[j]["Price"] == catList[i]["Price"]) {
        a = 1;
        break;
      }
    }
    if (a == 0) {
      newCatList[Object.keys(newCatList).length] = catList[i];
    }
  }
}