给定一个数组[1,2,3,4],如何求其元素的和?(在这种情况下,总数为10。)

我认为每个美元可能有用,但我不确定如何实现它。


当前回答

    <!DOCTYPE html>
    <html>
    <body>

      <p>Click the button to join two arrays.</p>
      <button onclick="myFunction()">Try it</button>
      <p id="demo"></p>
    <script>
var hege = [1, 2,4,6,7,8,8];
var stale = [1, 2,4,5];
function myFunction() {
    console.log((hege.length > stale.length))    
    var children  = (hege.length > stale.length)? abc1() :abc2();       document.getElementById("demo").innerHTML = children;
}
function abc1(){
    console.log(hege,"Abc1")    
    var abcd=hege.map(function (num, idx) {
        console.log(hege.length , idx)
        return stale.length>idx?num + stale[idx]:num;
    })
    return abcd;
}

function abc2(){

    console.log(hege,"Abc2",stale)    
    var abcd=stale.map(function (num, idx) {
        console.log(hege.length , idx)
        return hege.length>idx?num + hege[idx]:num;
    })
    return abcd;
}
</script>

</body>
</html>

其他回答

好的,假设您有以下数组:

const arr = [1, 2, 3, 4];

让我们开始研究许多不同的方法,因为我在这里找不到任何全面的答案:

1) 使用内置reduce()

function total(arr) {
  if(!Array.isArray(arr)) return;
  return arr.reduce((a, v)=>a + v);
}

2) 使用for循环

function total(arr) {
  if(!Array.isArray(arr)) return;
  let totalNumber = 0;
  for (let i=0,l=arr.length; i<l; i++) {
     totalNumber+=arr[i];
  }
  return totalNumber;
}

3) 使用while循环

function total(arr) {
  if(!Array.isArray(arr)) return;
  let totalNumber = 0, i=-1;
  while (++i < arr.length) {
     totalNumber+=arr[i];
  }
  return totalNumber;
}

4) 使用数组for Each

function total(arr) {
  if(!Array.isArray(arr)) return;
  let sum=0;
  arr.forEach(each => {
    sum+=each;
  });
  return sum;
};

并这样称呼它:

total(arr); //return 10

不建议将这样的东西原型化到Array。。。

ES6用于。。属于

let total = 0;

for (let value of [1, 2, 3, 4]) {
    total += value; 
}
var total = 0;
$.each(arr,function() {
    total += this;
});

一个“重复”问题问如何对二维数组执行此操作,因此这是一个简单的适应问题。(区别仅在于六个字符[2],0,它在每个子数组中找到第三项,并传递初始值0):

常量二维数组=[[10, 10, 1],[10, 10, 2],[10, 10, 3],];constsum=twoDimensionalArray.reduce((partial_sum,a)=>partial_sum+a[2],0);console.log(总和);//6.

当数组由字符串组成时,必须更改代码。如果数组是数据库请求的结果,则可能是这种情况。此代码有效:

alert(
["1", "2", "3", "4"].reduce((a, b) => Number(a) + Number(b), 0)
);

这里,[“1”,“2”,“3”,“4”]是字符串数组,函数Number()将字符串转换为数字。