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

如何在JavaScript中合并键值数组?React Native记账APP开发求助

解决方案

你可以通过数组map方法结合对象展开运算符,快速合并两个数组中对应位置的对象,刚好匹配你的需求场景。

核心合并逻辑

如果已经生成了hash和hashDolar两个数组,直接用以下代码生成目标数组:

const mergedData = hash.map((dayObj, index) => ({
  ...dayObj,
  ...hashDolar[index]
}));

整合到你的Firebase代码(优化版)

其实你完全可以跳过生成中间数组的步骤,在遍历Firebase快照时直接组装目标格式的数据,代码更简洁高效:

const q = query(collection(db, "users"), where("moneda", "==", "$"));
const unsubscribe = onSnapshot(q, (querySnapshot) => {
  const mergedData = [];
  querySnapshot.forEach((doc) => {
    mergedData.push({
      Day: doc.data().fecha,
      Amount: doc.data().cantidad
    });
  });

  // 这里就可以把mergedData传给Victory Native图表使用了
  console.log(mergedData);
});

边界情况处理(可选)

如果担心两个数组长度不一致(虽然你的场景里不会出现),可以加个判断避免报错:

const mergedData = hash.map((dayObj, index) => {
  return hashDolar[index] 
    ? { ...dayObj, ...hashDolar[index] }
    : dayObj; // 长度不匹配时返回原日期对象,也可自定义默认值
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:51:33