我有下面的代码工作正常this.state.fieldsData.advancedSearchComponentData.map((advancedCompDataElement) => { if (advancedCompDataElement.isRangeAttribute) { advancedCompDataElement.rangeAttributes.map((rangeDataElement) => { if (rangeDataElement.data.value) { searchElement[rangeDataElement.data.searchAttribute] = rangeDataElement.data.value; } }); } else { if (advancedCompDataElement.value) searchElement[advancedCompDataElement.searchAttribute] = advancedCompDataElement.value; } });但我可以看到一些类似的警告Line 138: Expected to return a value in arrow function array-callback-returnLine 140: Expected to return a value in arrow function array-callback-return有人可以解释一下我为什么会出现这些错误以及如何解决这些错误吗? 最佳答案 .map的目的是获取一个数组和一个回调,并基于该回调对数组中的每个元素进行转换,以便将包含转换后的元素(例如[1, 2, 3, 4]到[2, 4, 6, 8]的新数组)返回为。如果使用.map(n => n * 2)但不返回任何内容,则意味着您没有将其用于预期的目的-您可能只想使用普通迭代,而可以通过.map完成:this.state.fieldsData.advancedSearchComponentData.forEach((advancedCompDataElement) => { if (advancedCompDataElement.isRangeAttribute) { advancedCompDataElement.rangeAttributes.forEach((rangeDataElement) => {正如rule description所说: 数组有几种过滤,映射和折叠的方法。如果我们忘记在回调中编写return语句,则可能是一个错误。如果您不想使用返回值或不需要返回结果,请考虑改用.forEach。关于javascript - 如何解决以下es-lint警告-警告为“预期返回值”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52986170/ 10-11 13:40