【问题标题】:JS Pricebreak Calculator. Find Array value from qtyJS 价格突破计算器。从数量中查找数组值
【发布时间】:2018-12-09 18:50:20
【问题描述】:

您好,我正在 vue.js 中创建一个屏幕打印定价计算器

我正在使用的对象的简化版本

data() {
    return {
      qty: 0,
      breaks: [12, 24, 36, 100],
      matrix: [10, 9, 8, 7],
      pricePer: 0, 
      total: 0 // (pricePer * qty)
    };
},

我有一个改变数量值的输入。 “breaks”对象是数量阈值..

因此,如果用户输入的数量小于 12(“breaks”数组中的第一个值应该有错误,因为丝网印刷的最小值是 12

“矩阵”数组是每件衬衫的价格

所以我需要一个函数来

  1. 取数量并在中断数组中找到最接近的值的索引

  2. 使用该索引在“矩阵”数组中查找每件衬衫的价格


当它完全完成后,计算价格的变量会更多。

(数量、单面/双面、印刷颜色数)

但如果我能对应该如何处理该函数有所了解,我应该能够将其应用于计算器的其余部分。

第一次发帖,谢谢!!!

【问题讨论】:

  • 循环并检查中断数组的值。请添加您尝试过的内容。

标签: javascript arrays function vue.js methods


【解决方案1】:

由于您使用的是 vue.js,您可以在 watchers 下添加该方法。所以你可以有这样的东西

watch: {
  qty (val) {
    if (val > 11) {
      let res = 0;
      // The block gets the nearest value in the breaks array
      let arr = this.breaks;
      let diff = Math.abs(arr[0] - val);
      for (let i = 0; i < arr.length-1; i++) {
        if (val == arr[i]) {
          res = i;
        }

        if (Math.abs(arr[i] - val) < diff) {
          res = i
        }
      }
      // Price per shirt will be the value at index of i
      let PPS = this.matrix[i];
    }
  }
}

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-04
    • 2014-01-31
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    相关资源
    最近更新 更多