我写了这个辅助函数。它可以工作,但是问题是没有forloop不能工作,如果我使用任何其他方法,它会返回[对象授权]我该如何解决这个问题,请帮忙
我使用了其他方法,但是它给了我[对象授权]作为输出
.js文件
app.use(function(req, res, next) {
CountryData.find({}, function(err, result) {
if (err) {
console.log(err)
} else {
res.locals.contrycode = function(code1) { //helper function
for (var i = 0; i <= 500; i++) {
if (result[i].phoneCode.toString() === code1) {
return result[i].name.toString();
break;
}
}
}
next();
}
})
});
.ejs文件
<p> <%= contrycode("93"); %></p> ///function calling
答案 0 :(得分:1)
实际上不需要for-loop
,您可以使用find方法轻松找到该国家/地区:
res.locals.contrycode = function(code1) { //helper function
var selectedCountry = result.find(function(country) {
return country.phoneCode === code1;
});
if (selectedCountry) { // country found with this code
return selectedCountry.name;
} else {
return "whatever you want"
}
}
请更新您的代码。
我希望它会有所帮助。