Javascript: 改进具有嵌套 foreach 循环的代码

Javascript: Improve code having nested foreach loops

只是想知道这两个 forEach 循环是否可以展平或可以用任何其他更有效的解决方案代替。我的 GOOGLE_CRITERIA 列表太长(~1000 个元素)并且嵌套的 forEach 循环太过分了。

const openAddressSearch = ({ addressResponse, customerName }) => {
    addressResponse.forEach(address => {
        GOOGLE_CRITERIA.forEach(googleCriteria => {
            if (address.get('addressLine1')) {
                let addressCriteria = address
                    .filter((value, name) => name.startsWith('addressLine') && value)
                    .map(addressLine => `"${addressLine}"`)
                    .join('+');
                addressCriteria += googleCriteria;
                window.open(
                    buildGoogleSearchUrl({
                        customerName,
                        criteria: addressCriteria,
                    }),
                    '_blank',
                );
            }
        });
    });
};

也许您正在寻找这样的东西?

const openAddressSearch = ({ addressResponse, customerName }) => {
    addressResponse.forEach(address => {
        if (address.get('addressLine1')) {
            let addressCriteria = address
                .filter((value, name) => name.startsWith('addressLine') && value)
                .map(addressLine => `"${addressLine}"`)
                .join('+');
            GOOGLE_CRITERIA.forEach(googleCriteria => {
                window.open(
                    buildGoogleSearchUrl({
                        customerName,
                        criteria: (addressCriteria + googleCriteria),
                    }),
                    '_blank',
                );
            });
        }
    });
};