javascript - 如何避免下面代码中的 for 循环

标签 javascript nested-loops

Index.js

(function () {
'use strict';

// This is the array the isAircraftDueForTireChange function expects. 
// Assume the following object was loaded via an API as JSON.
// This object may contain some unrealistic or duplicate data; It is only intended for testing.
window.CAMP = {
    aircraftData: [
        {
            // Should require maintenance
            id: 1,
            lastTireChange: new Date('9/1/2016'),
            manufacturer: 'FooPlane',
            landings: [
                new Date('9/1/2015'),
                new Date('9/5/2015'),
                new Date('9/12/2016'),
                new Date('9/12/2015'),
                new Date('1/1/2016'),
                new Date('10/1/2015'),
                new Date('10/23/2015'),
                new Date('9/12/2016'),
                new Date('10/28/2015'),
                new Date('11/15/2015'),
                new Date('12/22/2015'),
                new Date('12/22/2015'),
                new Date('12/27/2015'),
                new Date('1/7/2016'),
                new Date('2/1/2016'),
                new Date('2/1/2016'),
                new Date('2/1/2016'),
                new Date('2/1/2016'),
                new Date('9/23/2016'),
                new Date('2/1/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/1/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/12/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/23/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/3/2016'),
                new Date('9/12/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/23/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016')
            ]
        },
        {
            // Should not require maintenance
            id: 2,
            lastTireChange: new Date('10/29/2016'),
            manufacturer: 'FooPlane',
            landings: [
                new Date('9/1/2015'),
                new Date('9/5/2015'),
                new Date('9/12/2016'),
                new Date('9/12/2015'),
                new Date('1/1/2016'),
                new Date('10/1/2015'),
                new Date('10/23/2015'),
                new Date('9/12/2016'),
                new Date('10/28/2015'),
                new Date('11/15/2015'),
                new Date('12/22/2015'),
                new Date('12/22/2015'),
                new Date('12/27/2015'),
                new Date('1/7/2016'),
                new Date('2/1/2016'),
                new Date('2/1/2016'),
                new Date('2/1/2016'),
                new Date('2/1/2016'),
                new Date('9/23/2016'),
                new Date('2/1/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/1/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/12/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/23/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/3/2016'),
                new Date('9/12/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/23/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016')
            ]
        },
        {
            // Should require maintenance
            id: 3,
            lastTireChange: new Date('9/1/2016'),
            manufacturer: 'BarPlane',
            landings: [
                new Date('9/1/2015'),
                new Date('9/5/2015'),
                new Date('9/12/2016'),
                new Date('9/12/2015'),
                new Date('1/1/2016'),
                new Date('10/1/2015'),
                new Date('10/23/2015'),
                new Date('9/12/2016'),
                new Date('10/28/2015'),
                new Date('11/15/2015'),
                new Date('12/22/2015'),
                new Date('12/22/2015'),
                new Date('12/27/2015'),
                new Date('1/7/2016'),
                new Date('2/1/2016'),
                new Date('2/1/2016'),
                new Date('2/1/2016'),
                new Date('2/1/2016'),
                new Date('9/23/2016'),
                new Date('2/1/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/1/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/12/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/23/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/3/2016'),
                new Date('9/12/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/23/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),







                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016')
            ]
        },
        {
            // Should not require maintenance
            id: 4,
            lastTireChange: new Date('10/29/2016'),
            manufacturer: 'BarPlane',
            landings: [
                new Date('9/1/2015'),
                new Date('9/5/2015'),
                new Date('9/12/2016'),
                new Date('9/12/2015'),
                new Date('1/1/2016'),
                new Date('10/1/2015'),
                new Date('10/23/2015'),
                new Date('9/12/2016'),
                new Date('10/28/2015'),
                new Date('11/15/2015'),
                new Date('12/22/2015'),
                new Date('12/22/2015'),
                new Date('12/27/2015'),
                new Date('1/7/2016'),
                new Date('2/1/2016'),
                new Date('2/1/2016'),
                new Date('2/1/2016'),
                new Date('2/1/2016'),
                new Date('9/23/2016'),
                new Date('2/1/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/1/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/12/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/3/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),


                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/3/2016'),
                new Date('9/12/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/2/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/2/2016'),
                new Date('9/23/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/23/2016'),
                new Date('9/5/2016'),
                new Date('9/5/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('9/12/2016'),
                new Date('9/23/2016'),
                new Date('9/12/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/1/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016')
            ]
        },
        {
            // Should require maintenance
            id: 5,
            lastTireChange: new Date('9/1/2016'),
            manufacturer: 'BazPlane',
            landings: [
                new Date('9/1/2015'),
                new Date('9/5/2015'),
                new Date('9/12/2016'),
                new Date('9/12/2015'),
                new Date('1/1/2016'),

                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016'),
                new Date('10/2/2016')
            ]
        },
        {
            // Should not require maintenance
            id: 6,
            lastTireChange: new Date('10/29/2016'),
            manufacturer: 'BazPlane',
            landings: [
                new Date('9/1/2015'),
                new Date('9/5/2015'),
                new Date('9/12/2016'),
                new Date('9/12/2015'),
                new Date('1/1/2016'),
                new Date('10/1/2015'),
                new Date('10/23/2015'),
                new Date('9/12/2016'),
                new Date('10/28/2015'),
                new Date('11/15/2015'),
                new Date('12/22/2015'),




            ]
        },
    ]
};
 })();

我正在尝试使用map或reduce,但无法真正弄清楚如何做到这一点。 如何有效地避免使用 for 循环并可以使用复合函数或回调函数来实现相同的效果?任何帮助将不胜感激!我

最佳答案

您的输入数据不是有效的 JavaScript,因此我已将其修改为有效以用于测试目的。

首先创建一个对象来存储每个 OEM 的轮胎更换间隔,这使我们能够删除多个 if 语句,而代之以单个语句。

接下来,在飞机数组上使用Array#filter。在回调中,对给定飞机的着陆数组运行 Array#filter,如果自上次更换轮胎后是否发生过着陆,则返回 true,然后将结果数组长度与相应的轮胎更换间隔进行比较该飞机的原始设备制造商。

window.CAMP = { aircraftData: [{ id: 1, lastTireChange: new Date('9/1/2013'), manufacturer: 'FooPlane', landings: [ new Date('9/1/2015'), new Date('9/5/2015'), new Date('9/12/2016'), new Date('9/12/2015') ] }, { id: 2, lastTireChange: new Date('10/29/2013'), manufacturer: 'FooPlane', landings: [ new Date('9/1/2015'), new Date('9/5/2015'), new Date('9/12/2016'), new Date('9/12/2015'), new Date('1/1/2016'), new Date('10/1/2015'), new Date('10/23/2015') ] }, { id: 2, lastTireChange: new Date('10/29/2013'), manufacturer: 'FooPlane', landings: [ new Date('9/1/2015'), new Date('9/5/2015'), new Date('9/12/2016'), new Date('9/12/2015'), new Date('1/1/2016'), new Date('10/1/2015'), new Date('10/23/2015') ] }, { id: 3, lastTireChange: new Date('9/1/2013'), manufacturer: 'BarPlane', landings: [ new Date('9/1/2015'), new Date('9/5/2015'), new Date('9/12/2016'), new Date('9/12/2015'), new Date('1/1/2016'), new Date('10/1/2015'), new Date('10/23/2015'), new Date('9/12/2016'), new Date('10/28/2015'), new Date('11/15/2015'), new Date('12/22/2015'), new Date('12/22/2015') ] }] };

function getAircraftsDueForTireChange(aircrafts) {
  // Changed FooPlane to 4 so we can show some passing the filter
  const intervals = { 'FooPlane': 4, 'BarPlane': 75, 'BazPlane': 200 };
  return aircrafts.filter(a => a.landings.filter(e => e.getTime() >= a.lastTireChange.getTime()).length >= intervals[a.manufacturer]);
}

console.log(getAircraftsDueForTireChange(window.CAMP.aircraftData).length); // 3

关于javascript - 如何避免下面代码中的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43010157/

相关文章:

javascript - Highcharts 如何在 PlotLines 中添加链接?

javascript - Loopback如何设置嵌套关系

nested-loops - 马塔 : Create a matrix that contains averages of all elements of 3 matrices

c++ - 素数计算器C++

javascript - 错误错误 : Uncaught (in promise): Error: BrowserModule has already been loaded : angular 6

javascript - 如何在 AngularJS 上放置服务?

javascript - 网站上的 Facebook 共享按钮

java - 餐厅菜单 : how to efficiently implement a nested loop to collect user input and conduct error checking

c - 简化 C 中的嵌套 for 循环

python - 使用 Itertools 实现具有内部中断的可变级别嵌套循环