Javascript 使用map作为for循环而不返回可以吗

Javascript 使用map作为for循环而不返回可以吗,javascript,reactjs,Javascript,Reactjs,在我的项目中,我在任何地方都使用map,即使我不想返回任何东西,我只是使用{}而不是(),不返回任何东西,只是像循环一样使用它,可以吗?如果是的话,那不使用任何键呢?因为有时我并不真正使用地图中的元素,我甚至不需要(或不知道如何)使用键 下面是我从代码中复制的一个示例: rawElementList.map(element => { if (element.validation !== undefined) { if (Javasc

在我的项目中,我在任何地方都使用map,即使我不想返回任何东西,我只是使用
{}
而不是
()
,不返回任何东西,只是像循环
一样使用它,可以吗?如果是的话,那不使用任何键呢?因为有时我并不真正使用地图中的元素,我甚至不需要(或不知道如何)使用键
下面是我从代码中复制的一个示例:

rawElementList.map(element => {
    if (element.validation !== undefined) {                 
        if (JavascriptUtils.hasOwnProperty(element.validation, 'isRequired')) {
            const isRequired = element.validation.isRequired;

            if (isRequired !== undefined) {
                delete element.validation.isRequired;
                required.push(String(element.id))
            }
        }

        validationJsonList.properties[element.id] = element.validation;
    }
})

不,那不合适。当您使用专门为创建数组而设计的方法,但实际上并没有创建有意义的数组时,您的代码的任何其他读者都会感到非常困惑。改用
forEach
——这是最适合副作用的数组方法:

rawElementList.forEach(element => {
    if (element.validation !== undefined) {                 
        if (JavascriptUtils.hasOwnProperty(element.validation, 'isRequired')) {
            const isRequired = element.validation.isRequired;

            if (isRequired !== undefined) {
                delete element.validation.isRequired;
                required.push(String(element.id))
            }
        }

        validationJsonList.properties[element.id] = element.validation;
    }
})

但是为什么呢?为什么不使用forEach
?将
forEach
用于此类cases@CodeManiac我不知道,很舒服!由于我是新手,对java脚本了解不多,所以我只是简单地使用了我所知道的,特别是因为map将迭代每个元素,您应该使用
forEach
,这是专门为这种情况设计的!!!只是古玩,我做的有什么副作用?速度慢吗?会不会产生虫子,或者仅仅是混淆了其他编码者?你在代码中有3个副作用:最后3行包含内容<代码>删除元素.validation.isRequired
删除element.validation.isRequired
validationJsonList.properties[element.id]=element.validation。副作用通常不是一件坏事-它们与纯(r)函数形成对比,纯(r)函数只创建和返回新的东西(如
.map
是用于)。它的速度较慢,因为您在映射过程中创建了一个数组,如果您做得正确,使用map vs forEach不会产生bug,但它更易于维护。感谢大家的帮助,我重构了我所有的代码,并在任何我没有返回任何东西的地方使用了
forEach
,我怀念那些只有一个“For循环”的日子:d