尽量让这个变得简单易懂......
我有一个JS函数,它实际上选择了一个人选择的数组(列表),然后将其传递给另一个函数然后打印出该数组。问题是我无法弄清楚如何使用我通过的数组名称看看:
阵列:
var allLists =['list1', 'list2'];
var list1 = ['orange', 'pear', 'apple'];
var list2 = ['car', 'plane', 'bike'];
遍历列表的函数:
function printAllLists() {
lists.forEach(function(entry) {
count++;
document.write("<h2> List Number " + count + "</h2>");
printList(entry);
});
}
将每个列表内容输出到表
的功能function printList(listname) {
document.write("<table>");
document.write("List Name Is: " + listname);
listname.forEach(function(entry) { //HERE IS THE PROBLEM
document.write("<tr><td>");
document.write(entry);
document.write("</td></tr>");
});
document.write("</table>");
}
我遇到的问题是下面的行字面上使用“listname”而不是作为列表名称传递的内容应该是“list1”或“list 2”
listname.forEach(function(entry) {
所以它只是失败了这个错误。我怎样才能让它交换数组的名称。对不起,如果它不是很清楚我想说的是什么我不确定如何确切地说这个(这可能是谷歌没有帮助的原因。)
Uncaught TypeError: listname.forEach is not a function
的jsfiddle 链接到JSFiddle - https://jsfiddle.net/38x5nw62/ 感谢
答案 0 :(得分:0)
这样做:
var list1 = ['car', 'plane', 'bike'];
var list2 = ['car', 'plane', 'bike'];
var allLists = [list1, list2];
此处的工作代码:https://jsfiddle.net/38x5nw62/1/
使用var allLists = ['list1', 'list2'];
的地方只包含字符串'list1'
和'list2'
,而不是字符串中熟悉的变量/数组。