簡體   English   中英

有什么方法可以在一行中從 for 循環中返回所有控制台日志?

[英]Is there any way to return all the console logs from a for loop in a single line?

我不知道如何問我的問題。

我想要達到的就是這個。

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

但是我的 function 正在返回這個

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將在每次迭代期間運行,因此將日志多次輸出到控制台是有意義的。 相反,您可以將所有內容存儲在一個字符串中,然后 output 像這樣存儲該字符串。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM