这是我的代码。 我真的不知道我做错了什么。
var arr = [{
order_count: 1,
order_date: "2015-10-10"
}, {
order_count: 2,
order_date: "2017-03-01"
}, {
order_count: 3,
order_date: '2017-04-10'
}];
function checkDay (date, maxDays){
var flag = false;
arr.forEach(function(element) {
if (element.order_date === date && element.order_count >= maxDays)
{
flag = true;
return true;
}
});
if (!flag) {
return false;
}
}
console.log(checkDay('2017-04-10', 3));
最佳答案
使用 array.some 方法
function checkDay(date, maxDays) {
return arr.some(element => element.order_date === date && element.order_count >= maxDays);
}
这只会循环,直到所有元素都被处理和评估 false
,或者一旦返回 true
就完成循环 - 因此,行为完全符合您的预期
关于javascript - return true 实际上返回 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48896509/