首页 > 解决方案 > 检查结果对象值在 javascript 中是否有效

问题描述

我想知道如何在javascript中用其他两个对象验证result(result_query)对象,在这里,我需要检查result_obj是否有效,其他两个对象有详细视图,如果result_obj有效则返回true,否则返回false .

我尝试过checkValidParamters在 javascript 中使用函数,但看起来很乱,但在 javascript 中是否有任何替代方法。

function checkValidParamters(paramValue, result_query, obj_cn, obj_ccy) {
  var sendcountry, valid_country, valid_sccy, valid_rccy, valid;
  sendcountry = obj_cn.filter(function (send) {
    return send.country_name == paramValue[0];
  })
  if (sendcountry != '' && query !== '{}') {
    var r_c= obj_ccy.filter(function (rccy) {
      return rccy.currency == result_query.rccy;
    })
    for (var i = 0; i <= sendcountry[0].popular_to.length; i++) {
      if (sendcountry[0].popular_to[i] == paramValue[1]) {
        valid_country = true;
      }
    }
    for (var i = 0; i <= sendcountry[0].currency_from.length; i++) {
      if (sendcountry[0].currency_from[i] === result_query.sccy) {
        valid_sccy = true
      }
    }
    if (r_c[0].country_name == paramValue[1]) {
      valid_rccy = true;
    }
    if (valid_country && valid_sccy & valid_rccy) {
      valid = true;
      return valid;
    }
  }
    valid = true;
    return valid;
  }
  else {
    valid = false;
    return valid;
  }
}

/* result object */
var result_query= {
  send_country: 'Singapore', // check if exist in obj_cn 'country_name'
  sccy: 'SGD', // check if exist in obj_cn 'country-from'
  receive_country: 'India', // check if exist in obj_cn'popular_to'
  rccy: 'INR' // check if exist in obj_ccy 'currency' by using receive_country 
}
/*if all exists return true , if single value doesnot exist return false*/


/* others object */
var paramValue = ["Singapore", "India"];
var obj_cn = [
{
  country_name: "Singapore",
  country_from:["SGD", "USD"],
  popular_to: ["India", "UnitedStates"],
  country_to: ["SGD"],
  country_code: "SG"
},
{
  country_name: "Malaysia",
  country_from:["MYR"],
  popular_to: ["Singapore", "UnitedStates"],
  country_to: ["MYR"],
  country_code: "MY"
}
]
var obj_ccy = [
{
   currency: "SGD",
   country_code: "SG",
   country_name: "Singapore"
},
{
   currency: "INR",
   country_code: "IN",
   country_name: "India"
},
{
   currency: "USD",
   country_code: "US",
   country_name: "UnitedStates"
}
]

预期输出(如果有效) 结果 = true(如果无效) 结果 = false

标签: javascriptjqueryarraysobject

解决方案


推荐阅读