JS Объединение двух массивов c заменой первого элементов
Есть два массива:
const seoDaysWeek = ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"];
const workTime = ["Пн. 8:00 — 20:00", "Вт. 8:00 — 20:00", "Ср. 8:00 — 20:00","Чт. 8:00 — 20:00", "Пт. 8:00 — 20:00", "Сб. 8:00 — 20:00", "Вс. 8:00 — 20:00"]
Должно получится:
arr = ["Mo 8:00 — 20:00", "Tu 8:00 — 20:00", "We 8:00 — 20:00", "Th 8:00 — 20:00", "Fr 8:00 — 20:00", "Sa 8:00 — 20:00", "Su 8:00 — 20:00"]
Пробовал через map, но очень странно объединяет.
const seoDaysWeek = ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"];
const workTime = ["Пн. 8:00 — 20:00", "Вт. 8:00 — 20:00", "Ср. 8:00 — 20:00","Чт. 8:00 — 20:00", "Пт. 8:00 — 20:00", "Сб. 8:00 — 20:00", "Вс. 8:00 — 20:00"]
const arr = seoDaysWeek.map((item, i) => ({
...item,
...workTime[i],
})
);
console.log(arr);
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
const seoDaysWeek = {"Пн.": "Mo", "Вт.": "Tu", "Ср.": "We", "Чт.": "Th", "Пт.": "Fr", "Сб.": "Sa", "Вс.": "Su"};
const workTime = ["Пн. 8:00 — 20:00", "Вт. 8:00 — 20:00", "Ср. 8:00 — 20:00","Чт. 8:00 — 20:00", "Пт. 8:00 — 20:00", "Сб. 8:00 — 20:00", "Вс. 8:00 — 20:00"]
const result = workTime.map(element => {
let repleceStr = element.substr(0, 3);
element = element.replace(repleceStr, seoDaysWeek[repleceStr]);
return element;
});
console.log(result);