为什么这个控制台日志发布“未定义”?

时间:2017-11-16 14:15:45

标签: javascript arrays undefined declaration

我创建了一个数组,它获取一个变量来指定我想要显示的值

var antallSporsmal= 0;
var fasit = new Array();
fasit[1,3,1,2,3];
console.log(fasit[antallSporsmal]);

5 个答案:

答案 0 :(得分:2)

在你的行中:

fasit[1,3,1,2,3];

您没有初始化您的阵列,这没有任何作用。因此fasit将始终为空,这就是fasit[0]undefined的原因。

你需要改变它:

fasit = [1,3,1,2,3];

答案 1 :(得分:2)

因为您的fasit数组为空。您有效地致电fasit[0]但由于空数组而无法存在。

如果您想将1,3,1,2,3数字添加到数组中,可能需要将fasit[1,3,1,2,3];更改为fasit.push(1,3,1,2,3);

或者只是将新数组分配给fasit变量,如下所示:fasit = [1,3,1,2,3];

答案 2 :(得分:0)

陈述fasit[1,3,1,2,3]; - 什么都不做。

var antallSporsmal= 0;
var fasit = [1,3,1,2,3];
console.log(fasit[antallSporsmal]); // output 1

例如。

同样new Array()将数字作为参数,并创建一个具有给定长度的数组。

如果需要向数组中添加一些元素,请使用arr.push()

答案 3 :(得分:0)

  

你的意思是

var antallSporsmal= 0;
var fasit = [1,3,1,2,3];
console.log(fasit[antallSporsmal]);
  

您也可以使用推送

var fasit=new Array();
fasit.push(1,3,1,2,4);
console.log(fasit[0]);

答案 4 :(得分:0)

以下是:

您的代码:

var antallSporsmal= 0;
var fasit = new Array();
fasit[1,3,1,2,3];
console.log(fasit[antallSporsmal]);

您应该使用的代码:

var fasit =[1,3,1,2,3];
var antallSporsmal= 0;
console.log(fasit[antallSporsmal]);