javascript - 检查数组的总和是否大于最大数,反之亦然 JavaScript

标签 javascript arrays

function ArrayAdditionI(arr) {  
  var numbers = arr();
   var arraySum = "";
   for (var i = 0; i < numbers.length; i++) {
        arraySum = arraySum + arr[i];
};
if (numbers.max() <= arraySum) {
  arr = true
}
else if (numbers.max() > arraySum) {
   arr = false;
}

  return arr;            
} 

我需要找到存储在名为 arr 的数组中的数字,并检查它们的总和是否等于最大数字,或者是否不是。如果是,则返回 true。如果不是,则返回 false。

我不确定一开始是否正确调用了数组。

谢谢

最佳答案

我实际上编写了一个库,仅用于此类功能。

http://code.google.com/p/pseudosavant/downloads/detail?name=psMathStats.min.js

你只需这样做:

var arr = [1,2,3,4,5,300];
if (arr.max() > arr.sum()){
    // Max is greater than sum...
}

不过有一个警告。这个库原型(prototype)化了 Array 对象,它可能会搞乱在 Array 上使用 for (var i in arr) 的其他脚本,而你永远不应该这样做。实际上,我几乎已经完成了该库的 v2 版本,其中包含许多新函数,并且它不再是 Array 对象的原型(prototype)。

您可以从代码中获取 .max() 和 .sum() 方法,如果需要的话,可以在不进行原型(prototype)设计的情况下使用它们。

maxArray = function (arr) {
    return Math.max.apply(Math, arr);
}

sumArray = function (arr) {
    for (var i = 0, length = arr.length, sum = 0; i < length; sum += arr[i++]);
    return sum;
}

关于javascript - 检查数组的总和是否大于最大数,反之亦然 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9136942/

相关文章:

javascript - 扫描特定 html 元素的页面并分配 css 类

javascript - d3 单独和按组拖动元素

java - 构建自下而上的堆

javascript - Node.js | Express.js | Redis.io - 处理顺序

javascript - 从下拉菜单文本链接提交表单

arrays - 从数组创建字符串的函数 (Mathematica)

php - 尝试为bcrypt哈希算法指定成本基准时,出现解析错误?

javascript - 数组对象区别javascript angularjs

c - 如何为动态二维数组的整行赋值?

javascript - 从服务器加载 javascript 对象到现有的 javascript 对象