JavaScript - 所有Array方法的Uncaught TypeError

时间:2015-08-05 03:04:10

标签: javascript

我是javascript的新手,我写了一个非常简单的代码来练习数组。但是我得到了Uncaught TypeError:people.join不像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);

1 个答案:

答案 0 :(得分:2)

如果您在Chrome中对其进行测试,则会出现一个问题:变量名称name,在全局范围内的chrome中,您分配给它的值是多少,该值将转换为字符串,因此name的值将为Jeremy,Jeffrey不是['Jeremy', 'Jeffrey']

这将导致concat执行字符串连接(people的值将Jeremy,JeffreyJennifer,Jackie作为字符串),people的值将为String {1}}不是数组。

尝试将变量重命名为name1name2

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);