数组去重求和

今天,一个同学去面试,发回来题目让我帮忙看看,题目如下:

用js写出一个函数,找出数组中没有重复数字的总和
例如:数组 [3,4,1,2,5,6,6,5,3,4,3];没有重复的总和为1+2=3

这个题目与简单去重有点不大一样,一看挺简单,但是容易掉坑
关键字:重复的都不要
我的代码如下:

function ArrayItemAdd() {
        var testArray = [3,4,1,2,5,6,6,5,3,4,3];
        var sum = 0, sum1 =0;
        //sum是重复的数字的和,sum1是数组的总和
        for (var i = 0; i < testArray.length; i++){
            for (var j = 0; j < testArray.length; j++){
                //如果i位置的数字与非i的数字相等就将他的值加入sum1,并且跳出循环
                if ((testArray[i] == testArray[j])&&(i != j)){
                    sum += testArray[i];
                    break;
                }
            }
            sum1 += testArray[i];
        }
        //sum与sum1相减的值就是非重复的数字之和
        console.log(sum1-sum);
    }

函数有待优化,在此只是简单说明其算法思路而已_

野薇薇

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容