JavaScript哈希对象无法正确更新值



我很难找到我的哈希,以正确地保留我要寻找的价值。

一些背景可以阐明此处的值。

我正在在React中创建一个练习应用。最后一个功能是创建一个搜索功能以返回用户最大升力。

测试是用于卧推的。值如下。

405435285225135185

无论我如何构建哈希,它都会返回{台式:185},我希望它通过数据进行排序,并且只有在新值大于旧值时才更改值。

const completedExercises = {};
    mergedSets.forEach(set => {
      if (set) {
        let exercise = exercises[set.exercise_id]
        let name = exercise.exercise_name
        if (exercise.ex_type === 'lift') {
          if (completedExercises[name] < (set.weight_lifted)) {
            completedExercises[name] = set.weight_lifted
          } else {
            completedExercises[name] = set.weight_lifted
          }
        }
      }
    })

第一个条件是检查设置是否是设置,以防用户在日志中没有存储的锻炼。

第二个仅对升降机进行练习,因为有氧运动没有举重值。

我可以在调试器中看到这两个,如果条件效果正常,并且所有数据都通过。

我有一系列练习,一组具有练习_id,这是我得到名字的地方。该集合存储了举重的重量。

我是JS的新手,所以我不确定这是否与使用foreach有关,与此同时,我将尝试循环。任何帮助,将不胜感激。无论订单如何,这总是将哈希设置为过去的最后一个值。

for循环或foreach没关系,这是我的其他条件,正如评论中指出的那样!感谢您的帮助,深夜和漫长的一天...

 const completedExercises = {};
    for (var i = 0; i < mergedSets.length; i++) {
      let set = mergedSets[i];
      let exercise = exercises[set.exercise_id]
      let name = exercise.exercise_name
      if (exercise.ex_type === 'lift') {
        if (completedExercises[name] < (set.weight_lifted)) {
          completedExercises[name] = set.weight_lifted
        } else if (!completedExercises[name]) {
          completedExercises[name] = set.weight_lifted
        }
      }
    }

最新更新