题解 | FED56 #数组求和#

数组求和

https://www.nowcoder.com/practice/cc3ce199461c4c4cb8f63db61d7eba30

描述

计算并返回给定数组 arr 中所有元素的总和

输入描述:

数组中的元素均为 Number 类型

示例1

输入:
[ 1, 2, 3, 4 ]
复制
输出:
10

function sum(arr) {
    /*法一:挨个加*/
    let sum=0;
    for(let i=0;i<arr.length;i++){
        sum+=arr[i];
    }
    return sum;
    
    /*法二:in获数组下标*/
    let s=0;
    for(let i in arr){
        s+=arr[i];
    }
    return s;
    
    /*法三:of获数组元素*/
    let s=0;
    for(let i of arr){
        s+=i;
    }
    return s;
    
    /*法四:reduce()方法:累加器    
        用法:
            元素组arr.reduce(function(上一次的值pre,当前cur,当前的索引index){
                ...
            },初始值init);
            
         参考:https://www.cnblogs.com/amujoe/p/11376940.html*/
    return arr.reduce((pre,cur)=>{
        return pre+cur;
    },0);
    
    /*法五:JS中的数组方法forEach():调用数组的每个元素,并将元素传给回调函数。
        array.forEach(function(item,index,arr),thisValue)
        数组.forEach(function(当前元素[,索引,数组对象),传给函数的值 一般用this])
        */
    let s=0;
    arr.forEach(item=>s+=item);
    return s;
    
}

全部评论

相关推荐

09-25 00:00
已编辑
电子科技大学 Java
球球与墩墩:这不是前端常考的对象扁平化吗,面试官像是前端出来的 const flattern = (obj) => { const res = {}; const dfs = (curr, path) => { if(typeof curr === 'object' && curr !== null) { const isArray = Array.isArray(curr); for(let key in curr) { const newPath = path ? isArray ? `${path}[${key}]` : `${path}.${key}` : key; dfs(curr[key], newPath); } } else { res[path] = curr } } dfs(obj); return res; }
查看3道真题和解析
点赞 评论 收藏
分享
用微笑面对困难:只要你保证项目和获奖都是真的就行尤其是“对战,总负责人”啊这些套职,基本上队员,打杂的都这么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务