【发布时间】:2022-12-20 06:37:20
【问题描述】:
我试图理解一些看似非常简单的事情。
控制台日志(${key}: ${value})- 只要下面的 return 被注释掉就可以工作。
一旦'返回'语句包含在它下面,该函数不起作用,只返回列表的第一个键值。
它返回:一:东西
为什么是 console.log(${key}: ${value}) 和
Return (${key}: ${value}) 可以如此不同,我如何重新格式化以从函数输出完整的键/值列表?我的预期结果是:“a:一些字符串,b:42,c:假”
谢谢!
const object1 = {
a: "somestring",
b: 42,
c: false,
};
const defineKeyValPairs = (data) => {
console.log(data); //outputs: {a: 'some string', b: 42, c: false}
for (const [key, value] of Object.entries(data)) {
console.log(`${key}: ${value}`); // returns "a: somestring, b: 42,c: false" so long as return below is commented out
// return `${key}: ${value}`; // doesn't work - returns "a: somestring"
}
};
defineKeyValPairs(object1);
【问题讨论】:
-
return字面意思出口或者回去.console.log将内容打印到控制台。你的问题听起来像:吹风机吹头发,洗衣机洗衣服——怎么会有这么大的不同? -
你认为 return 在做什么?
-
它确实从函数返回一个值,但您只会从该函数返回 1,因此它退出。它与日志记录无关。
-
所以你想要它 map() 并返回地图的结果。
标签: javascript arrays return javascript-objects