我是 javascript 新手,我正在编写一个非常简单的代码来练习数组。但我得到了 Uncaught TypeError: people.join is not a function 以及 people.reverse 和 people.sort 。为什么我收到此错误消息?我需要任何外部库来使用数组方法吗?
var name = ['Jeremy', 'Jeffrey'],
name2 = ["Jennifer", "Jackie"];
var people = name.concat(name2);
var joined = people.join(", ");
var reversed = people.reverse();
var sorted = people.sort();
alert(joined);
最佳答案
如果您在 Chrome 中测试它,一个问题是变量名称 name
,在 chrome 中,在全局范围内,您分配给它的任何值,该值都会转换为字符串,因此名称将是 Jeremy,Jeffrey
而不是 ['Jeremy', 'Jeffrey']
。
这将导致 concat
进行字符串连接(people
的值将是 Jeremy,JeffreyJennifer,Jackie
作为字符串)并且people
的值将是 String
类型,而不是数组。
尝试将变量重命名为 name1
和 name2
var name1 = ['Jeremy', 'Jeffrey'],
name2 = ["Jennifer", "Jackie"];
var people = name1.concat(name2);
var joined = people.join(", ");
var reversed = people.reverse();
var sorted = people.sort();
alert(joined);
关于JavaScript - 所有数组方法均未捕获类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31822734/