如何解决有没有办法在一行中从 for 循环返回所有控制台日志?
我不知道如何提问。
我想要实现的是这个。
This item color is: red This item number is: 1
This item color is: green This item number is: 2
This item color is: blue This item number is: 3
但是我的函数返回了这个
This item color is: red This item number is: 1
This item color is: green This item number is: 2
This item color is: blue This item number is: 3
我尝试在控制台日志的末尾使用换行符 (\n),但它会在每个循环中继续打印另一行。
这是我的代码:https://jsfiddle.net/whmnat0u/
let arr = [{
number: 1,color: "red"
},{
number: 2,color: "green"
},{
number: 3,color: "blue"
}
]
const returnItems = (list) => {
let emptyArray = []
for (const item of list) {
emptyArray.push({
number: item.number,color: item.color
})
}
printItems(emptyArray);
}
const printItems = (emptyArray) => {
for (const item of emptyArray) {
console.log(`This item color is: ${item.color} This item number is: ${item.number}`)
}
}
returnItems(arr);
解决方法
这大大简化了
我以加入结束。
const arr = [{ number: 1,color: "red" },{ number: 2,color: "green" },{ number: 3,color: "blue" }];
// const valueList = list => list.map(({number,color}) => ({ number,color})); // not used
const printItems = arr => arr.map(item => `This item color is: ${item.color} This item number is: ${item.number}`);
console.log(printItems(arr).join("\n"));
console.log
将在每次迭代期间运行,因此将日志多次输出到控制台是有意义的。相反,您可以将所有内容存储在一个字符串中,然后像这样输出该字符串。
let message = ''
for (const item of emptyArray) {
message += `This item color is: ${item.color} This item number is: ${item.number}\n`
}
console.log(message)
,
您需要将所有这些都保存在一个变量中,最后一次 console.log 该变量。
const printItems = (emptyArray) => {
let result = ``;
for (const item of emptyArray) {
result += `This item color is: ${item.color} This item number is: ${item.number}
`;
}
console.log(result);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。