JavaScript数组作为函数输入

时间:2018-03-26 01:11:51

标签: javascript arrays function

我是JavaScript初学者,不知道如何使用数组/向量作为输入来创建一个简单的函数。这是我的代码:

function semGPA(credits) {
  var c = credits.length;
  return c;
}

我想传递一个数字列表(例如credits = {3,4,5,6}),并让它告诉我变量中有4个元素。到目前为止,我还没有找到任何创建工作函数的内置函数。我尝试使用除+ - * /以外的所有内容都会导致TypeError。这里它说的是物业"长度"未定义。

2 个答案:

答案 0 :(得分:0)

它并不完全清楚你想要什么。您可以将数组作为credits传递,并且您的函数将正常工作(尽管它有点无意义,因为您可以直接调用数组上的length):

semGPA([1,2,3,4]);    // returns 4

也许你的意思是你想做这样的事情?

function semGPA() {
  var c = arguments.length;
  return c;
}

你可以这样打电话:

semGPA(1,2,3,4);    // returns 4

使用arguments对象,该对象是传递给函数的特殊对象,可用于访问传递给函数的所有参数(包括未命名参数)。

答案 1 :(得分:0)

如评论中所述,您拥有的示例是Object而不是数组。

var array = [1,2,3,4,5]

var object = {1,2,3,4,5} ==> This is not a valid object in Javascript.

上面的对象表示法需要一个键值对。

之类的东西

var object = {1: 1, 2: 2, 3: 3}

对象上不存在length属性。但是,如果要检查对象中的元素数量,可以使用下面的代码,这是不言自明的:

var credits = {1:1,2:2,3:3,4:4}

function semGPA(credits) {
  var creditKeysArray = Object.keys(credits); //this will give you an array of keys
  var creditLength = c.length;
  return creditLength;
}