但是listAdd函数创建的多个数组不能被showMain函数访问
时间: 2023-12-25 15:05:16 浏览: 37
确实,在你提供的代码中,`listAdd` 函数内部重新定义了 `listName`,导致 `listAdd` 函数创建的数组无法被 `showMain` 函数访问到。
为了解决这个问题,你可以修改 `listAdd` 函数的实现,让它返回生成的数组。然后,在调用 `listAdd` 函数时将返回的数组赋值给一个变量,并将该变量作为参数传递给 `showMain` 函数。
以下是修改后的代码示例:
```javascript
function listAdd(itemName, numbers, values) {
const list = [];
for (let i = 0; i < numbers; i++) {
let item;
switch (values) {
case true:
item = itemName + (i + 1);
break;
default:
item = itemName + i;
break;
}
list.push(item);
}
return list;
}
// 示例调用
const myList = listAdd('item', 5, true);
showMain(myList, ...otherArguments); // 将 myList 作为参数传递给 showMain 函数
```
在这里,`listAdd` 函数返回生成的数组 `list`,而不是修改传入的参数。然后,我们将返回的数组赋值给变量 `myList`。接下来,我们调用 `showMain` 函数,并传递 `myList` 作为参数,以及其他需要的参数。
通过这种方式,`showMain` 函数就能够访问并操作 `listAdd` 函数创建的数组了。