javascript - 当有一个内部循环时,地图没有返回数组
问题描述
const testTrue = sample.map((condition) => {
return Object.values(objects).forEach(value => {
return someFunc(condition.abc, value)
})
});
sample 是一个数组,为什么上面的代码不让 testTrue 变成[ true, false ]
?我没有定义,是因为这里的 forEach 吗?
这是有效的
const testTrue = sample.map((condition) => {
return someFunc(condition.abc, value)
});
解决方案
实际上,Array#forEach()
不返回任何内容,如果您查看Array#forEach()
MDN 规范,您可以看到它ReturnValue
是undefined
.
这就是为什么map
调用在您的代码中没有返回任何元素的原因:
const testTrue = sample.map((condition) => {
return Object.values(objects).forEach(value => {
//The following will be ignored
return someFunc(condition.abc, value)
})
});
调用return someFunc(condition.abc, value)
是无用的,就好像你没有写任何东西一样。
解决方案:
您可以通过调用来更改forEach()
数组Array#map()
的转换元素:
const testTrue = sample.map((condition) => {
return Object.values(objects).map(value => {
return someFunc(condition.abc, value)
})
});
推荐阅读
- javascript - 我不能在函数调用中使用之前通过 AJAX 请求加载的对象
- typescript - 使用对象的键作为联合类型
- django - 使用 django-extra-views 应用程序中的 UpdateWithInlinesView 更新自定义用户密码
- dplyr - 使用 dplyr 根据 R 中的连续条件创建列
- r - Software Solar Package:如何推导逆变器效率曲线的系数
- android - 如何在颤振应用程序中从本地主机获取 json 数据?
- python - 如何使用烧瓶 mongoengine 处理 ReferenceField 迁移?
- excel - 是否有更有效的方法来执行以下代码中列出的操作?
- conceptual - What is an Object and a Class in python?
- r - 总结变量旁边