Javascript 当具有内部循环时,映射未返回数组
示例是一个数组,为什么上面的代码不使testTrue变成Javascript 当具有内部循环时,映射未返回数组,javascript,arrays,loops,ecmascript-6,Javascript,Arrays,Loops,Ecmascript 6,示例是一个数组,为什么上面的代码不使testTrue变成[true,false]?我没有定义,是因为forEach吗 这是有效的 const testTrue = sample.map((condition) => { return Object.values(objects).forEach(value => { return someFunc(condition.abc, value) }) }); 实际上,它不返回任何内容,如果您查看,您可以看到它的Retur
[true,false]
?我没有定义,是因为forEach吗
这是有效的
const testTrue = sample.map((condition) => {
return Object.values(objects).forEach(value => {
return someFunc(condition.abc, value)
})
});
实际上,它不返回任何内容,如果您查看,您可以看到它的ReturnValue
是未定义的
这就是为什么map
调用在代码中不返回任何元素的原因:
const testTrue = sample.map((condition) => {
return someFunc(condition.abc, value)
});
调用returnsomefunc(condition.abc,value)
是无用的,就好像你没有写任何东西一样
解决方案:
您可以通过调用来更改forEach()
,以返回数组的转换元素:
const testTrue = sample.map((condition) => {
return Object.values(objects).forEach(value => {
//The following will be ignored
return someFunc(condition.abc, value)
})
});
返回到forEach
回调的值将被忽略。你在那里想干什么?您能否给出条件
和对象
的示例以及您的预期输出?您还能否提供有关示例
数组中将出现的内容的信息?请发布您的someFunc定义,以及您希望如何使用您的解决方案在数组中获得结果。
const testTrue = sample.map((condition) => {
return Object.values(objects).map(value => {
return someFunc(condition.abc, value)
})
});