Как изменить строковый элемент массива и запушить измененый вариант в изначальный массив?
У меня есть изначальный массив gridTemplateAreasArray, который состоит из одного элемента.
У элемента такое значение:
'"sources auto" "clicks auto" "shows auto" "conversion-price auto" "price auto" "conversion auto" "sales auto"'
Мне нужно через JS перезаписать этот массив так, чтобы у него вид был:
[
'"sources auto" "clicks auto" "shows auto" "conversion-price auto" "price auto" "conversion auto" "sales auto"',
'"sources_twin_1 auto" "clicks_twin_1 auto" "shows_twin_1 auto" "conversion-price_twin_1 auto" "price_twin_1 auto" "conversion_twin_1 auto" "sales_twin_1 auto"'
]
Имеющийся код
const table = document.querySelector('.table'),
tableArticles = document.querySelectorAll('.table__article');
const gridTemplateAreas = window.getComputedStyle(table).gridTemplateAreas;
const gridTemplateAreasArray = window.getComputedStyle(table).gridTemplateAreas.split();
Как мне это сделать?
Ответы (1 шт):
Автор решения: Alexander Lonberg
→ Ссылка
const arr = [`"sources auto" "clicks auto" "shows auto" "conversion-price auto" "price auto" "conversion auto" "sales auto"`]
arr[1] = arr[0].split(/"\s+"/g).map((i) => i.replace(/\s+/, '_twin_1 ')).join('" "')
console.log(arr)
UPDATE: от @teran
!!! Но только при условии что в конце фразы всегда auto"
const arr = [`"sources auto" "clicks auto" "shows auto" "conversion-price auto" "price auto" "conversion auto" "sales auto"`]
arr[1] = arr[0].replace(/(\s+auto")/, "_twin_1$1")
console.log(arr)