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

标签 javascript

我有一个看起来像这样的对象:

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}`);
}

示例:

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

let myObject = {a: 'hello', b: 2323, c: 123};
let result = returnSomeData(myObject);
console.log(result);

关于javascript - Object.entries 循环只返回第一个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51994839/

相关文章:

javascript - 通过实例方法使用 JS Classical

javascript - 为什么 HTML5 拖放目标是 child ? (可排序列表)

javascript - Controller 可以提供 json 或 html

c# - 在浏览器或 node.js 应用程序的 javascript 中反序列化 UTF8 编码的 Byte[]?

javascript - Vue 2组件不调用主实例函数

javascript - 在 Electron 窗口悬停时隐藏标题栏?

javascript - 如何使用javascript将按钮的值获取到另一个jsp

javascript - TypeScript async/await 与 JS tj/co

javascript - 无法从 `../../../../src/redux` 解析模块 `node_modules\react-redux\lib\connect\mapDispatchToProps.js`

javascript - 让我的 "beer"垂直进度条工作