Lodash函数修改字符串数组中的每个元素

时间:2019-06-28 14:06:49

标签: javascript arrays lodash

我有以下数组:

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

最快的lodash函数能够在数组的eacch元素中添加“:”以转换为mac地址格式。

预期输出应为:

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

1 个答案:

答案 0 :(得分:4)

使用Array.map()迭代数组,并使用带有String.match()的RegExp拆分每个字符串,然后使用:进行连接。

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>