Javascript 如何使此实现更短?

Javascript 如何使此实现更短?,javascript,arrow-functions,Javascript,Arrow Functions,我想缩短这个实现 const person1={ 数据:()=>({name:'Andrei'}) } const users=[person1]; 常量解析=(文档)=>{ 返回(回调)=>{ 返回回调(doc.data()) }; }; map(doc=>parse(doc)(user=>console.log(user)); 我是这样想的,因为parse函数已经从map中获取了参数,但我不知道怎么做,甚至不知道这是否可能 users.map(解析(user=>console.log(us

我想缩短这个实现

const person1={
数据:()=>({name:'Andrei'})
}
const users=[person1];
常量解析=(文档)=>{
返回(回调)=>{
返回回调(doc.data())
};
};
map(doc=>parse(doc)(user=>console.log(user));
我是这样想的,因为parse函数已经从map中获取了参数,但我不知道怎么做,甚至不知道这是否可能

users.map(解析(user=>console.log(user));

我终于找到了解决这个问题的最短方法:

const person1={
数据:()=>({name:'Andrei'})
}
const users=[person1];
函数product(){
返回函数(doc){
返回单据数据();
}
}
users.map(
生产(用户=>{
console.log(用户);
})
)

我使用curry调用来解决这个问题,灵感来自awsome library immmer.js->

我终于找到了解决这个问题的最短方法:

const person1={
数据:()=>({name:'Andrei'})
}
const users=[person1];
函数product(){
返回函数(doc){
返回单据数据();
}
}
users.map(
生产(用户=>{
console.log(用户);
})
)

我使用curry调用来解决这个问题,灵感来自awsome library immmer.js->

您希望准确缩短哪一行?只有最后一个,其余的都给出了?很简单,
console.log({name:'Andrei'})
给出了相同的结果:)@Bergi是的,最后一个one@AndreiZg那么,阿瓦奇就有了答案——扔掉一切。假设您想保留
users
数组,为什么不编写
users.forEach(user=>console.log(user.data())
-解析
的目的是什么?您希望如何重用它?为什么要使用array
map
方法,您希望得到什么结果吗?然后像往常一样,当您有重复的代码时,将其包装到函数中。让它返回一个承诺(就像你已经在使用它一样),不要传递回调。你想准确缩短哪一行?只有最后一个,其余的都给出了?很简单,
console.log({name:'Andrei'})
给出了相同的结果:)@Bergi是的,最后一个one@AndreiZg那么,阿瓦奇就有了答案——扔掉一切。假设您想保留
users
数组,为什么不编写
users.forEach(user=>console.log(user.data())
-解析
的目的是什么?您希望如何重用它?为什么要使用array
map
方法,您希望得到什么结果吗?然后像往常一样,当您有重复的代码时,将其包装到函数中。让它返回一个承诺(就像您已经在使用它一样),不要传递回调。这没有意义,
product
不再接受参数,因此
console.log
函数被丢弃。这没有意义,
product
不再接受参数,因此
console.log
函数被丢弃