提问人:Dotista 提问时间:7/18/2023 最后编辑:Dotista 更新时间:8/1/2023 访问量:54
如何通过函数链接在 Javascript 中简化此代码?
How to simplify this code in Javascript via function chaining?
问:
我想知道如何通过链接它们来简化这些函数调用。有没有办法链接 forEach、push、解构数组和映射。
let selectorsForLoader = ['a', 'b'];
let loadingElements = [];
selectorsForLoader.forEach(selector => {
loadingElements.push(...Array.from(document.querySelectorAll(selector)));
});
let loaders = loadingElements.map(loadingElement => {
loadingElement.doSomething();
});
下面是我所说的函数链接的示例:
food.map(item => item.type)
.reduce((result, fruit) => {
result.push(fruit);
return [...new Set(result)];
}, []);
答:
-1赞
David
7/18/2023
#1
给你:
['a', 'b'].flatMap(selector => {
return Array.from(document.querySelectorAll(selector)));
}).forEach(loadingElement => {
loadingElement.doSomething();
});
顺便说一句,你给出的那个“例子”应该这样写:
new Set(food.map(item => item.type));
评论
flatMap