计算给定数组 arr 中所有元素的总和的几种方法

1.forEach遍历:

function sum(arr) {
    var result = 0;
    arr.forEach(function(item,index) {
        result += item;
    });
  
    return result;
};

2.reduce

function sum(arr) {
    return arr.reduce(function(pre,cur){
        return pre+cur;
    })
}

3. eval

function sum(arr) {
   return eval(arr.join("+"));
}
[1,2,3,4].join(‘+‘)
//"1+2+3+4"
eval("1+2+3+4");
//10

4.常规循环

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

原文地址:https://www.cnblogs.com/sunmarvell/p/9161619.html

时间: 2024-10-27 08:26:01

计算给定数组 arr 中所有元素的总和的几种方法的相关文章

数组求和,计算给定数组 arr 中所有元素的总和

一,题目分析:可以使用数组的归并方法计算,reduce和reduceRight.二者作用几乎相同.只是归并方向相反.reduce和reduceRight都可以接收两个参数.第一个是在每一项上调用的函数,第二个是归并基础的初始值. 二,解题. function sum(arr){ var sum=0; if(Array.prototype.reduce){ sum = arr.reduce(function(prev,cur,index,arr){ return prev+cur; }); ret

1.找出数组元素item在给定数组arr中的位置

var a=[1,5,'ff','g','h','sd']; alert(indexof(a,'g')); //3 function indexof(arr,item){ if (Array.prototype.indexOf) //判断Array原型中是否有此方法 { return arr.indexOf(item); } else{ for (var i=0;i<arr.length ;i++ ) { if(arr[i]==item){ return i } } } }

封装函数,找出数组 arr 中重复出现过的元素.

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script> //封装函数,找出数组 arr 中重复出现过的元素. //示例: console.log(duplicates( [1, 2, 4, 4, 3, 3, 1,

js在数组arr中随机获取count数量的元素

// 在数组arr中随机获取count数量的元素; const getRandomArrayElements = (arr, num) => { // 新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组; let temp_array = new Array(); for (let index in arr) { temp_array.push(arr[index]); } // 取出的数值项,保存在此数组 let return_array = new Array(); fo

task 2:移出数组arr中与2相等的元素,并生成一个新数组,不改变原数组。

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>移出数组arr中与2相等的元素,并生成一个新数组,不改变原数组.</title> </head> <body> <script> var arr = [1,2,3,4,2,5,6,2,7,2]; var str4 = arr.slice(1,2); var st

6.7-3将数组arr中索引值为2的元素替换为“bb”

package shuzu; import java.util.Arrays; public class TH { public static void main(String[] args) { // TODO Auto-generated method stub String arr[] = {"qq","ww","ee"}; for(String x : arr) { System.out.println("替换前数组arr中元素

键盘录入6个int类型的数据存入数组arr中,将arr数组中的内容反转...

有一道很有意思的数组操作相关编程题,闲来无事用JS解决了一下,问题描述如下: (1) 键盘录入6个int类型的数据存入数组arr中: (2) 将arr数组中的内容反转: (3) 将反转后的数组角标为奇数的元素相互交换,即1和3交换,3和5交换,以此类推: (4) 将数组中最后一个角标为奇数的元素和数组中第一个角标为奇数的元素交换: (5)打印最终的数组,(实现了1—4步之后的数组) 示例:如用户输入的6个整数为[1,2,3,4,5,6]>[6,5,4,3,2,1]>[6,3,4,1,2,5]&

Java比较两个数组中的元素是否相同的最简单方法

呵呵呵,实现Java比较两个数组中的元素是否相同的功能你是怎么做的?看下面最简单方法: import java.util.Arrays; public class Test { /** * Java比较两个数组中的元素是否相同 */ public static void main(String[] args) { String [] array1 = {"1","2","3"}; String [] array2 = {"3"

PHP中获取文件扩展名的N种方法

PHP中获取文件扩展名的N种方法 从网上收罗的,基本上就以下这几种方式: 第1种方法: function get_extension($file) { substr(strrchr($file, '.'), 1); } 第2种方法: function get_extension($file) { return substr($file, strrpos($file, '.')+1); } 第3种方法: function get_extension($file) { return end(expl