如何使用Array find函数在JavaScript中返回对象

时间:2019-05-06 19:40:12

标签: javascript arrays

我有这个作业,要求我将名为userID的参数传递给箭头函数。在此函数内部,需要在称为用户的数组上使用.find函数。该查找函数应返回一个包含用户ID的对象。这是完整的说明:

  

在上方创建 getSelectedUser 箭头功能    displaySelectedUser 。它应该带有一个 userId 参数,并使用 users 集合上的Array .find函数来查找和   返回所选的用户对象。您的.find通话应进行内联   箭头函数并解构其参数以获得id   属性。

用户是一个数组:用户 =

[{
  age: 50,
  weight: 55,
  height: 6,
  country: 'US',
  name: 'Bob Manuel',
  id: 'ehriuiuye'
},
{
  age: 20,
  weight: 80,
  height: 6,
  country: 'UK',
  name: 'Michael Lawrence',
  id: 'fjikijd'
}];

我做了什么

const getSelectedUser  = (userId) =>{
    users.find(element => element.id === userId);
};

现在,自动分级机会返回以下错误:

  

创建一个“ getSelectedUser”函​​数,该函数返回所选的“用户”   对象”。有关详细信息,请参见说明。

我创建的函数有什么问题吗?

2 个答案:

答案 0 :(得分:1)

尝试一下:

<?php

答案 1 :(得分:0)

我猜想可能是说明书中提到的“破坏”。解构是将对象的选定属性分配给变量的过程。例如,如果您有一个对象

RotatingFileHandler

您可以通过const foo = { bar: "hi", baz: "friend" } foo.bar或使用

破坏对象来访问其属性
foo.baz

,它将定义两个变量const {bar, baz} = foo; bar

根据您的情况,您可以执行解构,而不是指定arrow函数的baz参数。

编辑: 正如评论中指出的那样,您不会从element函数返回任何内容。您可能需要进行getSelectedUserreturn user.find(element => ...)

修改2: 完整的代码应为:

return user.find(({id}) => ...)

或简称:

const getSelectedUser = (userId) => {
    return users.find(({id}) => id === userId);
};