Реальная задача, которую вы смотрите здесь, - это цикл по массиву. После того, как вы работаете, это просто добавляет данные в текущий индекс снова и снова. Первое решение было бы просто для цикла.
for (let i = 0; i < grains.length; i++) { ... }
Еще один вариант - это поиск нового пути ES6 для перебора массивов. Я предлагаю прочитать ForEach .
grains.forEach(grain => { ... })
Внутри этих циклов просто напишите код, который вы повторяете в своем фрагменте.
Если все домены имеют согласованный шаблон, вы можете использовать регулярное выражение с директивой server_name
.
Например:
server {
listen 80;
server_name ~^(www\.)?(?<domain>.+)\.example\.com$;
return 301 $scheme://$domain.anothersite.co$request_uri;
}
См. этот документ для получения подробной информации.