Функция Lodash для изменения каждого элемента в массиве строк - PullRequest
0 голосов
/ 28 июня 2019

У меня есть следующий массив:

let array = [ "c0709f80b718", "c47b86124fde" ];

Какая самая быстрая функция lodash, позволяющая добавить элемент «:» в каждый массив для преобразования в формат mac-адреса.

Ожидаемый результат должен быть:

let array = [ "c0:70:9f:80:b7:18", "c4:7b:86:12:4f:de" ];

1 Ответ

4 голосов
/ 28 июня 2019

Используйте Array.map() для итерации массива и RegExp с String.match() для разделения каждой строки, а затем соедините ее с :.

const array = [ "c0709f80b718", "c47b86124fde" ];

const result = array.map(str => str.match(/.{2}/g).join(':'))

console.log(result)

Как и предполагал @Akrion, для lodash вы можете использовать _.words с тем же шаблоном RegExp для разделения строки:

const array = [ "c0709f80b718", "c47b86124fde" ]

const result = _.map(array, str => _.words(str, /.{2}/g).join(':'))

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
...