我正在运行以下代码:
books.map(({ subjects, formats, title, authors, bookshelves }, index) => {
subjects = subjects.join().toLowerCase();
author = authors.map(({ name }) => name).join();
if (!text && subjects.includes(category) === true) {.....some code....
}
});
预期在上述代码的第1行的箭头函数array-callback-return
的末尾返回一个值。
我试图返回,但是没有用。
如果我忽略这些警告,可以吗?
我正在使用它进行生产,真的需要解决这个问题,还是可以保留它?
答案 0 :(得分:2)
map
确实期望返回值,并且在不使用它来构建数组时被视为反模式。没关系,但最好使用forEach
。
使用forEach的示例:
[{subjects: ['history', 'math'], authors: [{name: 'author 1'},{name: 'author 2'}]}].forEach((item) => {
let subjects = item.subjects.join().toLowerCase();
let authors = item.authors.map(({ name }) => name).join();
console.log(subjects, authors);
});
答案 1 :(得分:1)
它期望返回值,因为您正在使用.map
,请改用.foreach
。您可以在此处了解更多信息:Map vs. ForEach
答案 2 :(得分:1)
如果不想返回值,则可以使用forEach
来消除警告。
return null;
也可以做,但是不推荐。