我试图通过破坏forEach回调参数找到匹配的对象,从而遍历用户对象数组以返回用户对象
我已经尝试过像这样运行循环
let users = [];
users.push({ age: 40, weight: 75, height: 6, country: 'Nigeria', name: 'Charles Odili', id: 'dfhb454768DghtF' });
users.push({ age: 20, weight: 89, height: 8, country: 'Nigeria', name: 'Emeka Mamah', id: 'dfhb454768Dg' });
let userId = "dfhb454768Dg";
let user = users.find((user, { id } = user) => { return { id, name, weight, height, country} = (user.id === userId);
});
console.log(user);
我希望有一个匹配ID的用户对象,当我登录控制台时,该对象会很好。但是当我评估该方法时,它是行不通的
答案 0 :(得分:0)
我必须承认我不了解您的find
表达式在做什么,或者为什么它应该起作用。
我可以告诉你的是写同一件事的更简短,更惯用的方式:let user = users.find(({ id }) => id === userId);
如果我将其替换为您的代码,则会得到以下信息:
let users = [];
users.push({ age: 40, weight: 75, height: 6, country: 'Nigeria', name: 'Charles Odili', id: 'dfhb454768DghtF' });
users.push({ age: 20, weight: 89, height: 8, country: 'Nigeria', name: 'Emeka Mamah', id: 'dfhb454768Dg' });
let userId = "dfhb454768Dg";
let user = users.find(({ id }) => id === userId);
console.log(user);
这似乎也行得通。