You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native统计用户购买商品频次 求更优实现方案

优化方案

直接用Array.reduce()一步完成频次统计,再转换为适合FlatList渲染的结构,代码更简洁高效:

const arrayData = statDetails.purchasedItems;
// 统计每个商品的购买频次
const itemCounts = arrayData.reduce((acc, itemName) => {
  acc[itemName] = (acc[itemName] || 0) + 1;
  return acc;
}, {});

// 转换为FlatList可用的对象数组,同时包含商品名和购买频次
const countArray = Object.entries(itemCounts).map(([itemName, count]) => ({
  item: itemName,
  purchaseCount: count
}));

代码说明

  • 频次统计:reduce遍历原数组时直接累计每个商品的出现次数,比手动循环+includes去重的方式性能更优,也省去了单独维护去重数组的步骤。
  • 结构转换:Object.entries()把频次对象转成[商品名, 次数]的二维数组,再通过map直接生成FlatList需要的结构化数据,每个元素同时包含商品名称和对应购买次数,渲染时无需再关联多个数组。

FlatList渲染示例

<FlatList
  data={countArray}
  keyExtractor={(item) => item.item}
  renderItem={({ item }) => (
    <View style={{ padding: 12, borderBottomWidth: 1 }}>
      <Text>商品:{item.item}</Text>
      <Text>购买次数:{item.purchaseCount}</Text>
    </View>
  )}
/>

内容的提问来源于stack exchange,提问作者kingsJayson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 19:20:37