которых только свойство name. Нужно вернуть строку с перечислением имён с помощью "," и "&". Например:
Bart
Bart & Liza
Bart, Smoq & Liza
и т.д
Мои действия: прохожу по объектам массива, если есть свойство "name", добавляю его содержимое (с пробелом ДО имени). В итоге получаю строку вида "Bart Liza Imya Imya"
Можно ли как-то через replace(replaceAll) заменить пробелы на " ," перед всеми именами, кроме последних двух?
Если нет, то просьба подсказать как
function list(names) { let result = []; for (let i = 0; i < names.length - 1; i++) { result.push(names[i].name); } if (result.length > 1) { return result.join(", ") + " & " + names.at(-1).name; } else { return names.at(-1).name; } }?
array .map(({ name }) => name) .reduce((result, name, idx, arr) => { const separator = idx === arr.length - 1 ? ' & ' : ', ' return result + separator + name }, '')
зачем мап бесполезный?
Для семантики
function list(names){ let x = names.map(({name})=>name) return x.slice(0,-1).join(', ') + (x.length>1?' & ':'') + x.slice(-1) }🤡🤡
в браузерах даже специальный метод есть для создания таких строк
если найдёте - покажите, плз оо
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat
Обсуждают сегодня