Я хотел бы знать, как проверить объект result (result_query) с двумя другими объектами в javascript,
Здесь я должен проверить, что 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"
}
]
Ожидаемый результат
(если действует)
Результат = правда
(если не действителен)
Результат = ложь