Есть обычный список с цифрами.
[1,2]
Я хочу, используя reduce вернуть словарь, вида
{'key1': 1, 'key2': 2}
то есть
[1,2].reduce(myFunc) ====> {'key1': 1, 'key2': 2}
Для этого нужно написать функцию myFunc
Проблема в том, что я не могу осознать, как использовать значение в редюс, куда все будет прибавляться.
Мои не удачные попытки:
function myFunc(total, num, index) {
return `{key${num}: ${num}}`;
}
ну это вернет самый последний результат, ну это и логично, так как total
не используется. Убираем индекс - он не нужен нам и добавляем тотал.
function myFunc(total, num) {
return total[`{key${num}`] = `${num}}`
}
Это не рабочий вариант.
function myFunc(total, num) {
return {}, `{key${num}: ${num}}`;
}
Как и этот.
Объясните мне, пожалуйста, что я делаю не так.
Спасибо.
function myFunc(total, num) {
return total[`{key${num}`] = `${num}}`
}
Вы были так близки. Функция, которая передает в reduce
должно возвращать общий результат, а не конкретный для какой-то итерации.
// Это не вернет весь объект total, в этом и проблема.
total[`{key${num}`] = `${num}}`
const data = [1, 2];
const result = data.reduce((acc, el) => {
acc[`key${el}`] = el;
return acc; // Возвращаем именно acc.
}, {}); // Последний аргумент - начальное значение acc.
console.log(result);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В чем суть вопроса: На сайте есть 5 карточек товаров, в каждой из которой есть кнопка "заказать"После нажатия кнопки появляется модальное окно...
Есть задача позволить пользователю выборочно выделять и удалять полигоны которые он рисуетПроблема 1: как выделить нужный полигон из возможного...