Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何返回对象而不是控制台日志值_Javascript - Fatal编程技术网

Javascript 如何返回对象而不是控制台日志值

Javascript 如何返回对象而不是控制台日志值,javascript,Javascript,我编写了一个JavaScript函数来查找奇数整数的数量、负整数的数量、平均值和中值 代码完成了我希望它完成的一切,但是,我想知道是否可以重写它,让函数返回一个对象,而不仅仅是控制台日志值。我还包括了一个指向我的JS Bin()的链接 任何意见或建议将不胜感激!谢谢 var arrayAnalyzer = function(myArray) { var odds = 0; var negatives = 0; var avg; var median;

我编写了一个JavaScript函数来查找奇数整数的数量、负整数的数量、平均值和中值

代码完成了我希望它完成的一切,但是,我想知道是否可以重写它,让函数返回一个对象,而不仅仅是控制台日志值。我还包括了一个指向我的JS Bin()的链接

任何意见或建议将不胜感激!谢谢

  var arrayAnalyzer = function(myArray) {

    var odds = 0;
    var negatives = 0;
    var avg;
    var median;

    for (var i = 0; i < myArray.length; i++) {
      if (myArray[i] % 2 !== 0) {
        odds += 1;
      }
      if (myArray[i] < 0) {
        negatives += 1;
      }
    }

    console.log("There are " + odds + " odd numbers.");
    console.log("There are " + negatives + " negative numbers.");

    var sum = myArray.reduce(function(previousValue, currentValue) {
      return previousValue + currentValue;
    });

    avg = sum / myArray.length;
    console.log("The average is " + avg.toFixed(2));

    var orderedArray = myArray.sort(function(a, b) {
      return a - b;
    });

    if (orderedArray.length % 2 === 0) {
      var position1 = orderedArray.length / 2;
      var position2 = position1 - 1;
      median = (orderedArray[position1] + orderedArray[position2]) / 2;
    } else {
      var position = Math.floor(orderedArray.length / 2);
      median = orderedArray[position];
    }

    console.log("The median is " + median);
  };

  arrayAnalyzer([7, -3, 0, 12, 44, -5, 3]);
var arrayAnalyzer=函数(myArray){
var比值=0;
var负值=0;
var平均值;
var中值;
对于(var i=0;i
我不确定你的问题是否正确,但为什么不在方法的开头创建一个对象,然后在计算完值后立即将值写入对象中呢

var arrayAnalyzer=函数(myArray){
var比值=0;
var负值=0;
var平均值;
var中值;
var result={};
对于(var i=0;ilog(数组分析器([7,-3,0,12,44,-5,3])我不确定你的问题是否正确,但为什么不在方法的开头创建一个对象,然后在计算完值后立即将值写入对象中呢

var arrayAnalyzer=函数(myArray){
var比值=0;
var负值=0;
var平均值;
var中值;
var result={};
对于(var i=0;i
var arrayAnalyzer=函数(myArray){
var比值=0;
var负值=0;
var平均值;
var中值;
对于(var i=0;i
var arrayAnalyzer=函数(myArray){
var比值=0;
var负值=0;
var平均值;
var中值;
对于(var i=0;ivar arrayAnalyzer = function(myArray) {

  var odds = 0;
  var negatives = 0;
  var avg;
  var median;

  for (var i = 0; i < myArray.length; i++) {
    if (myArray[i] % 2 !== 0) {
      odds += 1;
    }
    if (myArray[i] < 0) {
      negatives += 1;
    }
  }

  console.log("There are " + odds + " odd numbers.");
  console.log("There are " + negatives + " negative numbers.");

  var sum = myArray.reduce(function(previousValue, currentValue) {
    return previousValue + currentValue;
  });

  avg = sum / myArray.length;
  console.log("The average is " + avg.toFixed(2));

  var orderedArray = myArray.sort(function(a, b) {
    return a - b;
  });

  if (orderedArray.length % 2 === 0) {
    var position1 = orderedArray.length / 2;
    var position2 = position1 - 1;
    median = (orderedArray[position1] + orderedArray[position2]) / 2;
  } else {
    var position = Math.floor(orderedArray.length / 2);
    median = orderedArray[position];
  }

  console.log("The median is " + median);
  // Returns an object with named attributes
  return {
    odds:odds,
    negatives:negatives,
    avg:avg,
    median:median
  };
};

var myArray = arrayAnalyzer([7, -3, 0, 12, 44, -5, 3]);
console.log("Odds: " + myArray.odds +
  "\nNegatives: " + myArray.negatives +
  "\nAverage:" + myArray.avg +
  "\nMedian: " + myArray.median);