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