【问题标题】:How to map a list of array with selective index?如何映射具有选择性索引的数组列表?
【发布时间】:2021-10-23 15:57:53
【问题描述】:

我有一个包含文件名和文件路径的数组列表。被分组到一个数组列表中。

例子:

**var files = [filenameA, filenameB, filenameC, filepathA, filepathB, filepathC]**

我需要映射它们并将它们转换为 -->

var remapfiles = {[filenameA,filepathA],[filenameB,filepathB], [filenameC,filepathC]}

它在 files 中编译的原因是使用 SDK 函数提取的,该函数将检索所有文件名和路径。

我应该如何映射/排序以获得 remapfiles 结果并记录?请指教。

【问题讨论】:

  • 您能提供filenameAfilepathA 的样本吗?你可以使用 reduce 来做到这一点
  • 嗨@boxdox,这是路径的示例 '"FileA.xlsm,FileB.xlsm,FileC .xlsm,C:\\Bla\\Bla\\EXCEL_FOLDER\\FileA.xlsm,C :\\Bla\\Bla\\EXCEL_FOLDER\\FileB.xlsm,C:\\Bla\\Bla\\EXCEL_FOLDER\\FileC.xlsm,'

标签: javascript arrays mapping fso


【解决方案1】:

假设文件路径总是在文件名之后,你可以试试:

let files = ['filenameA', 'filenameB', 'filenameC', 'filepathA', 'filepathB', 'filepathC']
let remapfiles = [];
for (let i = 0; i < files.length/2; i++) {
  remapfiles.push([files[i], files[files.length/2+i]])
}
console.log(remapfiles)

【讨论】:

  • 谢谢!它可以工作,但是需要进行一些细微的更改来处理文件的增加。 code let files = ['filenameA', 'filenameB', 'filenameC', 'filepathA', 'filepathB', 'filepathC'] let remapfiles = []; for (let i = 0; i code
【解决方案2】:

感谢@Learning 数学

let files = ['filenameA', 'filenameB', 'filenameC', 'filepathA', 'filepathB', 'filepathC']
let remapfiles = [];
for (let i = 0; i < files.length/2; i++) {
  remapfiles.push([files[i], files[files.length/2+i]])
}
console.log(remapfiles)

此代码有效。

【讨论】:

    猜你喜欢
    • 2012-03-06
    • 2021-01-01
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    相关资源
    最近更新 更多