我是JavaScript初学者,不知道如何使用数组/向量作为输入来创建一个简单的函数。这是我的代码:
function semGPA(credits) {
var c = credits.length;
return c;
}
我想传递一个数字列表(例如credits = {3,4,5,6}),并让它告诉我变量中有4个元素。到目前为止,我还没有找到任何创建工作函数的内置函数。我尝试使用除+ - * /以外的所有内容都会导致TypeError。这里它说的是物业"长度"未定义。
答案 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;
}