Javascript 一次将所有对象调用到函数中,并返回每个对象的特定计算?

Javascript 一次将所有对象调用到函数中,并返回每个对象的特定计算?,javascript,function,object,Javascript,Function,Object,如果没有明确的方法,如何调用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.sp

如果没有明确的方法,如何调用
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]));

谢谢。

使用此方法,您可以非常轻松地完成此操作。此函数用于调用以数组内容为参数的函数:

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;
}
var speedAverage=函数(arr){
var总和=0

对于(var i=0;i向
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());
或者,您可以使用以下方法:

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
中所有车辆的速度之和,将其除以车辆数量即可得到平均值

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]));