检查对象值是否大于0

时间:2019-04-26 10:36:45

标签: javascript arrays object

我有多个输入(type =“ number”),当有人在其中输入值时,我正在创建一个对象。我喜欢创建一条语句,并检查特定对象的值是否大于0。

if(el){
   el.addEventListener('input', function(evt) {
     const input = evt.target
     if (input.checked || input.value.length) {
        steps[input.dataset.name] = {
        value: input.value
        }
        } else {
         delete steps[input.dataset.name]
         }                
      })
  }

所以我的对象看起来像那样 enter image description here

所以在对象步骤中,我有多个对象,每个对象都有一个唯一的名称和一个值。我喜欢运行一个函数,但是仅当特定对象的值大于0时才运行该函数,例如在sale_monthly_additional_sales值大于0的情况下执行某项操作。我什至不知道该如何开始。

1 个答案:

答案 0 :(得分:0)

您可以添加这样的条件。

  1. 创建数组并添加元素名称的键名。
  2. 然后与Array#includes()进行匹配。最后根据需要应用条件

代码

var arr =['sale_monthly_additional_sales']; //
if (el) {
  el.addEventListener('input', function(evt) {
    const input = evt.target
    if (input.checked || input.value.length) {
    var val =input.value; // initiate default value
    if(arr.includes(input.dataset.name)){ //match keyname  on your element name
      val = parseFloat(input.value) > 0 ?'your code':val; //over write as you condition
    }
      steps[input.dataset.name] = {
        value: input.value
      }
    } else {
      delete steps[input.dataset.name]
    }
  })
}