在JavaScript对象中查找哪个键值对等于X?

奥利弗·克莱恩(Oliver Klein)

我正在对数据库进行排序,但实际上只是使用javascript对象。在这个对象中,我有变量,我需要找到最低的变量。我已经做到了,但是要做到这一点,我必须找到值,而不是等于值的键值对的名称,我怎么能找到哪个值负责最低的结果呢?

这是数据库对象:

        {
            cave: cave,
            environment: {
                activity: activity,
                recovery: recovery,
                psychology: psychology
            },
            variable: {
                training: training,
                mobility: mobility,
                sleep: sleep,
                nutrition: nutrition,
                stress: stress,
                motivation: motivation
            },
            date: moment().format('ll'),
            user: Meteor.user().username
        }

因此,即时通讯进入这一阶段,并使用以下命令查找所有变量中的最低者:

Math.min(
         findVariable(0, 'training'),
         findVariable(0, 'mobility'),
         findVariable(0, 'sleep'),
         findVariable(0, 'nutrition'),
         findVariable(0, 'stress'),
         findVariable(0, 'motivation')
        )

并且findVariable是这样的:

findVariable = function(dayOffset, findValue){
    var log = dailyLog.find({user: Meteor.user().username, date: findDate(dayOffset)}).fetch()[0];

    return log.variable[findValue];

};

所以我找到每个变量的值,它是一个整数值,但是我不想显示数字,我想显示变量名。如何获得负责最小值的变量名?

尼克·汤姆林

一种方法是减少您的variables

var variables = {
  training: 1,
  mobility: 4,
  sleep: 6,
  stress: 5
};

var lowestVariable = Object.keys(variables).reduce(function (lowest, variable) {
  if (variables[variable] < variables[lowest]) {
    return variable;
  } else {
    return lowest;
  }
});

// training

这样,您无需dailyLog.find为每个变量名都进行aa操作,而是只需查看一次日志,然后对variable属性进行归约

findLowest = function (dayOffset) {
  var log = dailyLog.find({user: Meteor.user().username, date: findDate(dayOffset)}).fetch()[0];

  return Object.keys(log.variable).reduce(function (lowest, variable) {
      if (log.variables[variable] < log.variables[lowest]) {
        return variable;
      } else {
        return lowest;
      }
  });
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS:在属性x等于对象y的数组中查找对象

来自分类Dev

从javascript中的对象串联键值

来自分类Dev

在 Javascript 对象中添加键值对

来自分类Dev

JS在封装对象中查找键值对

来自分类Dev

什么是使用查找索引从数组中获取对象或在JavaScript中获取映射键值的更快方法?

来自分类Dev

Javascript:遍历对象数组以查找键值对并将其呈现在表td中

来自分类Dev

在JavaScript中删除多个对象键值

来自分类Dev

在javascript(json对象)中删除localstorage的键值

来自分类Dev

Javascript - 如何迭代对象中的键值?

来自分类Dev

使用 nodejs 在对象数组中查找特定键值

来自分类Dev

如何使用ES6 HOF Javascript在数组中查找重复的对象(所有键值对应该相同)

来自分类Dev

获取键值等于数组值的对象

来自分类Dev

Django 1.9在列表中查找属性等于某个值的对象

来自分类Dev

x和y键值对必须匹配,在数组中查找

来自分类Dev

JavaScript中哪个对象包含“ <head> .. </ head>”?

来自分类Dev

JavaScript中哪个对象包含“ <head> .. </ head>”?

来自分类Dev

如何获取javascript对象中每个对象的键值?

来自分类Dev

在Javascript对象中查找数据

来自分类Dev

在JavaScript对象中查找值

来自分类Dev

在构造函数中,查找哪个类创建了对象?

来自分类Dev

在javascript中的json对象数组中获取JSON键值对

来自分类Dev

遍历对象中的键值

来自分类Dev

查找子集是对象的哪个索引

来自分类Dev

JavaScript查找并计算重复的键值

来自分类Dev

在所有键值对都是唯一的对象数组中查找对象

来自分类Dev

使用javascript将键值从对象数组中剥离

来自分类Dev

如何在JavaScript中向数组添加新对象(键值对)?

来自分类Dev

根据javascript中的键值合并两个json对象

来自分类Dev

将键值对添加到javascript中的对象数组?

Related 相关文章

  1. 1

    iOS:在属性x等于对象y的数组中查找对象

  2. 2

    从javascript中的对象串联键值

  3. 3

    在 Javascript 对象中添加键值对

  4. 4

    JS在封装对象中查找键值对

  5. 5

    什么是使用查找索引从数组中获取对象或在JavaScript中获取映射键值的更快方法?

  6. 6

    Javascript:遍历对象数组以查找键值对并将其呈现在表td中

  7. 7

    在JavaScript中删除多个对象键值

  8. 8

    在javascript(json对象)中删除localstorage的键值

  9. 9

    Javascript - 如何迭代对象中的键值?

  10. 10

    使用 nodejs 在对象数组中查找特定键值

  11. 11

    如何使用ES6 HOF Javascript在数组中查找重复的对象(所有键值对应该相同)

  12. 12

    获取键值等于数组值的对象

  13. 13

    Django 1.9在列表中查找属性等于某个值的对象

  14. 14

    x和y键值对必须匹配,在数组中查找

  15. 15

    JavaScript中哪个对象包含“ <head> .. </ head>”?

  16. 16

    JavaScript中哪个对象包含“ <head> .. </ head>”?

  17. 17

    如何获取javascript对象中每个对象的键值?

  18. 18

    在Javascript对象中查找数据

  19. 19

    在JavaScript对象中查找值

  20. 20

    在构造函数中,查找哪个类创建了对象?

  21. 21

    在javascript中的json对象数组中获取JSON键值对

  22. 22

    遍历对象中的键值

  23. 23

    查找子集是对象的哪个索引

  24. 24

    JavaScript查找并计算重复的键值

  25. 25

    在所有键值对都是唯一的对象数组中查找对象

  26. 26

    使用javascript将键值从对象数组中剥离

  27. 27

    如何在JavaScript中向数组添加新对象(键值对)?

  28. 28

    根据javascript中的键值合并两个json对象

  29. 29

    将键值对添加到javascript中的对象数组?

热门标签

归档