Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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
Javascript Object.entries循环只返回第一个条目_Javascript - Fatal编程技术网

Javascript Object.entries循环只返回第一个条目

Javascript Object.entries循环只返回第一个条目,javascript,Javascript,我有一个像这样的对象: myObject = {a: 'hello', b: 2323, c: 123} 我尝试使用以下函数循环并返回每个条目的键和值: returnSomeData(myObject) { for (const [key, value] of Object.entries(myObject)) { return ( `${key}: ${value}` ); } } 目前,只返回第一个条目(a:hello)。有人知道为什么我没有得到对象中的

我有一个像这样的对象:

myObject = {a: 'hello', b: 2323, c: 123}
我尝试使用以下函数循环并返回每个条目的键和值:

returnSomeData(myObject) {
 for (const [key, value] of Object.entries(myObject)) {
    return (
      `${key}: ${value}`
    );
  }
}

目前,只返回第一个条目(a:hello)。有人知道为什么我没有得到对象中的所有条目吗?

您是从
for
循环的第一次迭代返回的。
return
语句使
for
循环完全无用。您应该将结果分组到一个数组中,然后在
for
循环完成后返回它们:

returnSomeData(myObject) {
  const results = [];
  for (const [key, value] of Object.entries(myObject)) {
    results.push(
      `${key}: ${value}`
    );
  }
  return results;
}
您也可以像这样使用
map

returnSomeData(myObject) {
  return Object.entries(myObject).map(([key, value]) => `${key}: ${value}`);
}
示例:

函数returnSomeData(myObject){
返回Object.entries(myObject.map([key,value])=>`${key}:${value}`);
}
让myObject={a:'你好',b:2323,c:123};
让结果=返回一些数据(myObject);

控制台日志(结果)使用console.log而不是return。当您返回时,函数停止运行,或者您想使用另一个函数。

因为您在for循环中返回一个结果,它当然会返回。Return意味着Return(返回到父堆栈),它意味着函数会产生一个结果,并且在返回后不会执行代码。当您考虑循环某些内容并开始为
编写
时,请慢慢停止编写,深呼吸,删除
中的,然后查看文档中的
映射
filter
甚至
reduce
:)感谢您的反馈:)之前我一直在遵循这个示例:不客气:)我试图解释接受答案的评论中的差异。对于第二个选项,在那里放一个回车键,或者使用箭头函数,放下卷发,不用回车键即可使用。太好了,非常感谢!我以前也有过这样的例子:@Patrick1904,你的情况有点不同。您在这里提供的教程是一个在
for
循环中执行操作的示例。本例中有
console.log
。您可以在for循环中执行操作,但不能像那样返回所有项。您需要将它们推到其他地方,或者最好使用像这里这样的
map
。@devserkan,是的,谢谢您解释这是有意义的。