我是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);
答案 0 :(得分:2)
如果您在Chrome中对其进行测试,则会出现一个问题:变量名称name
,在全局范围内的chrome中,您分配给它的值是多少,该值将转换为字符串,因此name的值将为Jeremy,Jeffrey
不是['Jeremy', 'Jeffrey']
。
这将导致concat
执行字符串连接(people
的值将Jeremy,JeffreyJennifer,Jackie
作为字符串),people
的值将为String
{1}}不是数组。
尝试将变量重命名为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);