所以我有一个任务,我必须编写一个名为“addEmUp”的函数,以这种方式声明:
function addEmUp() {
// Your code goes here.
};
addEmUp 返回数组中数字的总和。数组的名称是 LASVEGAS,数组中有 3 个值。
数组 LASVEGAS 存在 - 不要创建它 - 只需使用它。
我一头雾水,这个函数怎么写?
谢谢
所以我有一个任务,我必须编写一个名为“addEmUp”的函数,以这种方式声明:
function addEmUp() {
// Your code goes here.
};
addEmUp 返回数组中数字的总和。数组的名称是 LASVEGAS,数组中有 3 个值。
数组 LASVEGAS 存在 - 不要创建它 - 只需使用它。
我一头雾水,这个函数怎么写?
谢谢
尝试:
var sum = LASVEGAS.reduce(function(a,b){return a+b;});
现在去看看自己如何在你的函数中实现它。
使用 for 循环并遍历数组中的每个项目。
您可能希望使用变量来跟踪运行总计。
我写这个答案是因为我只是想理解一些事情。我不做你的作业,那是你应该做的。
现在,LASVEGAS 是一个包含 3 个值的数组。不要坚持 3 个值,我可以是任何长度。
让我们假设一个通用数组示例
LASVEGAS = [1,5,"a","b", true, false, , 34];
接下来,您的要求是提取数组中存在的数字长度。您必须使用filter
函数过滤数组。但这在旧浏览器中不起作用。如果您只针对现代浏览器,那么下面的代码应该可以工作
LASVEGAS.filter(function(e) { return typeof e == "Number"; } )
// It will return filtered array of Numbers
因此,如果您还针对旧浏览器,请在页面中的某处添加以下代码。
/**
* Copyright (c) Mozilla Foundation http://www.mozilla.org/
* This code is available under the terms of the MIT License
*/
if (!Array.prototype.filter) {
Array.prototype.filter = function(fun /*, thisp*/) {
var len = this.length >>> 0;
if (typeof fun != "function") {
throw new TypeError();
}
var res = [];
var thisp = arguments[1];
for (var i = 0; i < len; i++) {
if (i in this) {
var val = this[i]; // in case fun mutates this
if (fun.call(thisp, val, i, this)) {
res.push(val);
}
}
}
return res;
};
}
如果你想在确切的要求上工作,并且如果不需要任何通用方式下面的代码也可以完成工作
LASVEGAS.Numbers = 0;
for(var i = 0, j = LASVEGAS.length; i < j ; i++){
if(typeof LASVEGAS[i] == "Number") LASVEGAS.Numbers;
}
下一次,不要发布这些类型的问题。我们不是来做你的家庭作业的。