flutter - Dart 需要通过定价来过滤数组
问题描述
我有这样的简单数据
{ID: 1195, SubCategoryID: 87, Name: Fajita Pizza (S), Price: 199.0}, {ID: 1195, SubCategoryID: 87, Name: Fajita Pizza (S), Price: 299.0}
我正在使用 RangeSlider 来获取用户的范围
RangeSlider(
values: _currentRangeValues,
min: 1,
max: 10000,
divisions: 100,
labels: RangeLabels(
_currentRangeValues.start.round().toString(),
_currentRangeValues.end.round().toString(),
),
onChanged: (RangeValues values) {
setState(() {
_currentRangeValues = values;
print(_currentRangeValues);
});
},
),
范围是这样打印的,RangeValues(1.0, 8400.16)
我需要用我的数据过滤这个范围。所以我把那个产品放在一个价格在 RangeValues 之间的数组中
解决方案
我不确定这是否是您打算做的,但正如@pskink 所说,您可以使用 List.where 按范围过滤您的产品列表:
double minPrice = 200;
double maxPrice = 300;
filteredProducts = products.where((element) {
return (element["Price"]>minPrice && element["Price"]<maxPrice);
}).toList();
log(filteredProducts.toString());
推荐阅读
- google-cloud-platform - Google Cloud Datestore - 无法在 Objectify v5 上使用游标
- logging - Serilog 文件排序
- ibm-integration-bus - 如何删除 OutputRoot.JSON.Data esql 中的空字符串字段
- android - 单击标记-> getInfoContents 不显示我的自定义小部件
- java - 对象到 ArrayList 导致 NullPointException
- reactjs - 反应测试库模拟 useSelector redux 错误
- c# - MVC 模型中的异常处理
- vba - 对所有用户强制停止 Application.Ontime
- gmail - Gmail 拦截发送到 iCloud 帐户的活动邀请
- azure - 无法使用 Azure 管理 API 重新生成存储密钥