Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Array find函数在JavaScript中返回对象_Javascript_Arrays - Fatal编程技术网

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

如何使用Array find函数在JavaScript中返回对象,javascript,arrays,Javascript,Arrays,我有一个家庭作业,要求我将一个名为userID的参数传递给arrow函数。在这个函数中,我需要在名为users的数组上使用.find函数。这个find函数应该返回一个包含userID的对象。以下是完整的说明: 在上面创建一个getSelectedUser箭头函数 显示选定的用户。它应该使用userId参数并使用users集合上的Array.find函数来查找和 返回选定的用户对象。您的.find调用应采用内联方式 arrow函数并对其参数进行反结构以获取id 财产 用户是一个数组:用户= [{

我有一个家庭作业,要求我将一个名为userID的参数传递给arrow函数。在这个函数中,我需要在名为users的数组上使用.find函数。这个find函数应该返回一个包含userID的对象。以下是完整的说明:

在上面创建一个getSelectedUser箭头函数 显示选定的用户。它应该使用userId参数并使用users集合上的Array.find函数来查找和 返回选定的用户对象。您的.find调用应采用内联方式 arrow函数并对其参数进行反结构以获取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”函数,返回所选的“用户” 对象”。有关详细信息,请参阅说明


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

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

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

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

在您的例子中,您可以进行分解,而不是指定arrow函数的
元素
参数

编辑: 正如在一条评论中指出的,您没有从
getSelectedUser
函数返回任何内容。您需要执行
returnuser.find(元素=>…)
或者
returnuser.find({id})=>…)

编辑2: 完整代码应为:

const getSelectedUser = (userId) => {
    return users.find(({id}) => id === userId);
};
或简称:

const getSelectedUser = (userId) => users.find(({id}) => id === userId);
试试这个:

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

答案将取决于您使用的语言,您忽略了识别。从赋值和示例代码中,我猜这是JavaScript(箭头函数、解构、三等号用于比较
==
)1)您没有返回任何内容2)不确定JS函数末尾是否有分号,希望这有帮助-WWCI很抱歉JavaScript@Wookies-Will Code你是对的当然,什么都不返回。但是分号可以;)如果我进行解构,我将在变量中获取用户ID。我该怎么办呢?您可以用解构表达式
({id})=>…
替换内联箭头函数中的
元素
变量和后续的
元素.id
属性访问,谢谢。我还是很困惑。销毁后如何返回对象(以获取ID)。如果你能帮我写代码,我将不胜感激。