gpt4 book ai didi

javascript - 将字符串数组减少到最小的正则表达式值

转载 作者:行者123 更新时间:2023-11-29 21:12:00 25 4
gpt4 key购买 nike

我正在开发一个 Node 模块,该模块将文件上传到 s3 并在上传文件后执行云端失效,但考虑到失效不是免费的,我想将上传的失效文件路径减少到可能的最小正则表达式值,例如

[
'library-latest-v2.min.js',
'library-latest-v2.min.js.map',
'library-latest-v2.test.min.js',
'library-latest-v2.test.min.js.map'
]

将成为 library-latest-v2*

关于如何编写一个函数来执行此操作的任何想法?谷歌搜索运气不佳。如果它可以处理多种变体,则加分,例如

[
'library-latest-v2.min.js',
'library-latest-v2.min.js.map',
'other-library-v3.min.js',
'other-library-v3.min.js.map'
]

会减少到 ['library-latest-v2*', 'other-library-v3*'] 但不确定这有多大可能

最佳答案

假设您的数组元素采用给定格式。

尝试这样的事情。

var arr = [
'library-latest-v2.min.js',
'library-latest-v2.min.js.map',
'other-library-v3.min.js',
'other-library-v3.min.js.map'
];

var reducedArr = [];
var temp;
arr.forEach(function(item){
temp = item.split('.')[0] + "*";
if(reducedArr.indexOf(temp) < 0) reducedArr.push(temp);
});

console.log(reducedArr);

还有一个没有任何其他变量的解决方案

var arr = [
'library-latest-v2.min.js',
'library-latest-v2.min.js.map',
'other-library-v3.min.js',
'other-library-v3.min.js.map'
].map(function(item){
return item.split('.')[0] + "*";
}).filter(function(item, index, self){
return self.indexOf(item) === index;
});

console.log(arr);

关于javascript - 将字符串数组减少到最小的正则表达式值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41367367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com