javascript - return true 实际上返回 undefined

标签 javascript

这是我的代码。 我真的不知道我做错了什么。

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/

相关文章:

javascript - 如何使用 gl.lineWidth()

javascript - Chart.js V2。具有固定 y 轴的条形图

javascript - 正则表达式和多个字符串

javascript - 如何在 JavaScript 的 DIV 中从范围的开始和结束获取 innerHTML

Javascript - 找到 TD 宽度 ="70%"并添加 CSS

javascript - Express.js 中的默认路由

javascript - 清除 CKEditor 样式标签

javascript - 如何从父窗口在子窗口中动态创建元素

javascript - Grunt、Compass、Foundation(foundationpress wordpress 主题)

javascript - 在模糊中屏蔽信用卡输入