首页 文章

JS Pricebreak计算器 . 从qty中查找Array值

提问于
浏览
0

您好,我正在vue.js中创建一个丝网印刷定价计算器

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

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

我有一个输入改变了数值 . “休息”对象是数量阈值..

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

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

所以我需要一个功能

  • 获取数量并查找中断数组中最近值的索引

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


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

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

但是,如果我能够了解如何处理该功能,我应该能够将其应用于计算器的其余部分 .

这是我第一次在这里发帖,谢谢!!!

1 回答

  • 0

    由于您使用的是vue.js,因此您可以在观察者下添加该方法 . 所以你可以拥有这样的东西

    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];
        }
      }
    }
    

    我希望这有帮助

相关问题