一次将所有对象调用到函数中,返回每个对象的特定计算
Call Objects all at once into Function returning a specific calculation with each of them?
如何在没有显式方式的情况下调用var auto
的每个对象?
我的意思是不必在函数调用、speedAverage
函数和用于计算平均值的return
中编写它们中的每一个。
function Car (model, speed) {
this.model = model;
this.speed = speed;
}
var speedAverage = function(car1, car2, car3) {
return (car1.speed + car2.speed + car3.speed)/ veh.length;
};
var auto = [
new Car("BMW", 220),
new Car("Ford", 260),
new Car("DeLorean", 350)
];
console.log("The average between these cars is " + speedAverage(auto[0], auto[1],
auto[2]));
谢谢。
您可以使用
apply
方法非常轻松地执行此操作。此函数用于调用以数组内容作为参数的函数:
speedAverage.apply(null, auto);
我认为您想将数组对象传递给函数:
var speedAverage = function (arr) {
var sum=0
for(var i=0; i<arr.length; i++) {
sum += arr[i];
}
return sum/arr.length;
}
并用速度平均(自动)调用它
如果您正在寻找参数数量可变的函数,您还可以阅读有关参数的信息。
添加一个静态函数来Car
并在构造函数中推动速度,那么你就不必做auto
的事情了:
var speeds = [];
function Car (model, speed) {
this.model = model;
this.speed = speed;
speeds.push(speed);
}
Car.getAverageSpeed = function() {
return eval(speeds.join('+'))/speeds.length;
};
new Car("BMW", 220),
new Car("Ford", 260),
new Car("DeLorean", 350)
console.log("The average between these cars is " + Car.getAverageSpeed());
或者你可以像这样使用arguments
和apply()
:
var speedAverage = function() {
return eval(Array.prototype.map.call(arguments, function(s) {
return s.speed;
}).join('+'))/arguments.length;
};
var auto = [
new Car("BMW", 220),
new Car("Ford", 260),
new Car("DeLorean", 350)
];
console.log("The average between these cars is " + speedAverage.apply(0, auto));
由于您已经在 auto
数组中拥有所有数据,请使用 reduce 函数:
console.log (auto.reduce (
function (speed, car) {
return speed + car.speed;
}, 0) / auto.length);
调用 reduce
返回 auto
中所有汽车的速度之和,除以汽车数量得到平均值。
相关文章:
- Javascript:firstChild对象返回undefined
- Javascript对象返回垃圾值
- 从js中的对象返回一个值
- 从Javascript类对象返回函数
- 从具有最高值的对象返回属性
- 为什么我的Date对象返回当前日期
- NodeJS fs.readdr-将回调内部作为对象返回
- Leadfoot会话对象返回promise
- 如何从对象返回可读字符串
- 日期对象和ISO日期对象返回不同的日期
- 使用JavaScript's FormData对象返回整个html
- 节点.js请求对象 - 返回响应正文以供进一步操作
- 使用 Restangular 使用 RESTful API - RESTful API 将数组作为顶级对象返回是否安全
- 带有方法的 Javascript 对象返回“没有方法'我的方法名称'”错误
- 从 Date() 对象返回 dd-mm-yyyyy
- JSON 中的日期对象返回的数据被视为字符串
- Javascript - 如何获取字符串,打印单词,字符,空格,平均单词长度的#并作为对象返回
- 如何从新对象返回值,同时保留其方法
- 如何从对象返回某些键
- 从 Javascript 中的对象返回值