首页 > 解决方案 > 将 URL 数组中的文件和文件名拆分为新数组?

问题描述

我正在使用.map()一组 href 来提取链接位置中的文件和文件名,并将它们放入一个新数组中。

问题是如何将解构后的数组const[file, folder]转换为一个数组,该数组将包含linkContainer变量包含的每个 URL 的文件和文件夹,因为.map()是迭代它吗?显然它现在只收集第一个。

URL 示例包括:

理想的输出是:

console.log(file, folder) // [SPECSHEET_PDF, INST_SHEET] [R3CRDT_SPSHT.PDF, R3CRN-trim_0.pdf] etc

标签: javascript

解决方案


用于.slice()仅对数组的最后两个元素进行切片。

var url1 = "http://192.168.12.44:8090/SPECSHEET_PDF/R3CRDT_SPSHT.pdf"

var url2 = "http://192.168.12.44:8090/INST_SHEET/R3CRN-trim_0.pdf"

const [file, folder] = url1.split("/").slice(-2);
const [file2, folder2] = url2.split("/").slice(-2);

const files = [file, file2];
const folders = [folder, folder2];

console.log(files, folders);

如果 URL 的数量可以是任何值:

var urls = ["http://192.168.12.44:8090/SPECSHEET_PDF/R3CRDT_SPSHT.pdf", "http://192.168.12.44:8090/INST_SHEET/R3CRN-trim_0.pdf"]

urls = urls.map(v => v.split("/").slice(-2))

//[file, file2], [folder, folder2] format
console.log(urls.map(v => v[0]), urls.map(v => v[1]));

//[file, folder] format
console.log(urls);


推荐阅读