Вставить после нужного мне элемента в массиве тире, пример: 1920 - 2020

119
12 января 2020, 15:40

У меня есть массив, и всё никак не получается вставить тире между годами, чтобы было понятно что выбрал не только 1920,2020 года а выбрать именно промежуток 1920-2020

Answer 1

Как вариант:

var arr = ['CARS', 'AUDI', 1920, 2020, 'State', 'Arizona', 'Collision']; 
 
let test = arr.join(',').replace(/(\d+),(\d+)/, '$1-$2').split(','); 
console.log(test);

Ну или такой вариант:

var arr = ['CARS', 'AUDI', 1920, 2020, 'State', 'Arizona', 'Collision']; 
 
for (i = 0; i < arr.length; i++) { 
    if (!isNaN(arr[i])) { 
        arr[i] = arr[i]+'-'+arr[i+1]; 
        delete arr[i+1]; 
    } 
} 
 
console.log(arr.filter(n => n));

Answer 2

вот вариант, если значения массива известны.

["a","b",1,2,"h","j"].join(",").split(",1,2,").join(",1-2,").split(",")
Answer 3

Конкретно в вашем случае можно попробовать вот что:

let arr = ['CARS', 'AUDI', 1920, 2020, 'State', 'Arizona', 'Collision'] // Если я правильно понял, у вас только 2 значения типа Number 
let year_index; 
for (element of arr) { 
    if (!isNaN(+element)) { // Унарный оператор "+" возвращает NaN, если применяется к строке 
        year_index = arr.indexOf(element); 
        break; 
    } 
} 
let chunk = arr.splice(year_index + 1); // "Отрываем" от массива всё, что идёт после первого года 
arr.push('-', ...chunk); // Добавляем в конец оставшейся части массива дефис и отделённый ранее "кусок" 
console.log(arr);

оператор "..." (spread)

READ ALSO
PostgreSql Подсоединение по адресу localhost:5432 отклонено

PostgreSql Подсоединение по адресу localhost:5432 отклонено

Использую библиотеку Exposed от JetBrains и framework Ktor

124
Подключения к MySQL

Подключения к MySQL

Наприсал функцию на go, которая поднимает соединение с бд, вынимает данные и закрывает соединение, но после отработки функции все равно остается...

138
Не сохраняется переменная javascript

Не сохраняется переменная javascript

Скачиваю методом get файл с сервера, и вывожу в console браузераВсё выводится как надо, но если пытаюсь сохранить переменную и вывести её потом,...

111