Есть ли какой-либо способ вернуть все журналы консоли из цикла for в одной строке?

#javascript #arrays #for-loop #console.log

#javascript #массивы #for-цикл #console.log

Вопрос:

Я не уверен, как задать свой вопрос.

Чего я пытаюсь добиться, так это.

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

Комментарии:

1. Пожалуйста, включите сюда весь соответствующий код. Вопросы должны быть автономными, и посетителям не нужно выходить за пределы сайта, чтобы понять сообщение или ответы.

2. Создайте одну строку и вызовите console.log один раз после цикла?

3. Сначала создайте выходную строку, а затем консоль. запишите это.

4. @mplun Вы повторно предоставили лицензию на код пользователя без его разрешения…

5. @mplungjan И все же лицензия кода остается измененной, если пользователь не потребует от сотрудника жесткого удаления изменений.

Ответ №1:

Это намного упрощено

Я заканчиваю соединением.

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

Ответ №2:

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)
 

Ответ №3:

Вам нужно сохранить их все в переменной и, наконец, console.запишите эту переменную один раз.

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