Для каждого элемента добавьте в результат две его копии подряд. Это не удвоение числового значения: [1, 2] должно превратиться в [1, 1, 2, 2].
Функция удвоения элементов массива
Для каждого элемента добавьте в результат две его копии подряд. Это не удвоение числового значения: [1, 2] должно превратиться в [1, 1, 2, 2].
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Создайте функцию, принимающую массив (например, назовём его inputArray) и возвращающую новый массив, в котором каждый элемент исходного массива встречается два раза подряд.
Ответ
Для каждого элемента добавьте в результат две его копии подряд. Это не удвоение числового значения: [1, 2] должно превратиться в [1, 1, 2, 2].
function duplicateElements(inputArray) {
const result = [];
for (const item of inputArray) result.push(item, item);
return result;
}
Исходный массив остаётся неизменным. Если элементы являются объектами, обе позиции хранят ту же ссылку: глубокого клонирования условие не требует. Для плотного массива возможна и запись inputArray.flatMap(item => [item, item]). У разреженных массивов её поведение отличается: flatMap пропускает пустые позиции, тогда как for...of выдаёт undefined.