JavaScript 如何基于动态取值构造对象数组(测试文件处理场景)
调整后的实现代码及说明
你只需要在遍历每个测试文件时,构造以文件名为键、匹配结果为值的对象再推入结果数组即可,修改后的代码如下:
const extractTestCases = () => { // 函数内部初始化结果数组,避免全局变量污染 const testCases = []; const filterFile = files.filter(test => test.includes('.test.ts')); filterFile.forEach(testsuite => { const testSuitesContent = fs.readFileSync(testsuite, { encoding: "utf8" }); // 用计算属性构造要求的对象结构 testCases.push({ [testsuite]: regexMatcher(testSuitesContent, TestRegex, 1) }); }); return testCases; }
额外说明:
- 如果你的
regexMatcher返回的是单个字符串而非数组,把值的部分改成[regexMatcher(testSuitesContent, TestRegex, 1)]手动包装为数组即可 - 如果你原本的
testCases是需要复用的全局变量,去掉函数内部的const testCases = []声明即可
内容的提问来源于stack exchange,提问作者johny
相关产品推荐
相关产品推荐

