【问题标题】:Compare variables that correspond to a result in Javascript比较与 Javascript 中的结果相对应的变量
【发布时间】:2014-11-30 18:53:28
【问题描述】:

我对@9​​87654321@ 很着迷,并且很好奇我将如何用 Javascript 编写逻辑。

例如,我为皮肤类型选择porcelain,为头发选择ash blonde,为眼睛选择grey。 Light Summer 调色板(浅绿色)对我来说是个好兆头,因为每种类型都有浅绿色。

到目前为止,我已将所有调色板存储在一个数组中,并为每个皮肤/头发/眼睛变量分配了一个具有相应颜色点的对象。有没有比我现有的更好的方法来解决这个问题?

谢谢!完成后,您将是第一个试用我的应用程序的人 :)

【问题讨论】:

  • 这太宽泛了……你到底想让你的应用做什么?

标签: javascript logic


【解决方案1】:

如果您将调色板存储为数组,然后将皮肤/头发/眼睛颜色存储为对象,并使用键作为不同选项,您可以轻松地使用这些数组的交集来找到最佳调色板。例如,以下输出'light summer'

function commonPalette(skinTone, hairColor, eyeColor) {
    return skinTone.filter(function (color) {
        if (hairColor.indexOf(color) !== -1 && eyeColor.indexOf(color) !== -1) {
          return true;
        }
        return false;
    });
}

var skinTone = {
        'porcelain': ['clear spring', 'clear winter', 'warm spring', 'light summer', 'light spring']  
    },
    hairColor = {
        'ash blonde': ['light summer', 'light spring']
    },
    eyeColor = {
        'grey': ['cool summer', 'light summer', 'soft summer']
    };

commonPalette(skinTone['porcelain'], hairColor['ash blonde'], eyeColor['grey']);

【讨论】:

    【解决方案2】:

    你可以用字典来做。

    当你点击按钮porcelain时,skin字典中的颜色值:

    skin['porcelain']
    

    对于所有其他选项,依此类推。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多