今天,一個(gè)同學(xué)去面試,發(fā)回來(lái)題目讓我?guī)兔纯矗}目如下:
用js寫(xiě)出一個(gè)函數(shù),找出數(shù)組中沒(méi)有重復(fù)數(shù)字的總和
例如:數(shù)組 [3,4,1,2,5,6,6,5,3,4,3];沒(méi)有重復(fù)的總和為1+2=3
這個(gè)題目與簡(jiǎn)單去重有點(diǎn)不大一樣,一看挺簡(jiǎn)單,但是容易掉坑
關(guān)鍵字:重復(fù)的都不要
我的代碼如下:
function ArrayItemAdd() {
var testArray = [3,4,1,2,5,6,6,5,3,4,3];
var sum = 0, sum1 =0;
//sum是重復(fù)的數(shù)字的和,sum1是數(shù)組的總和
for (var i = 0; i < testArray.length; i++){
for (var j = 0; j < testArray.length; j++){
//如果i位置的數(shù)字與非i的數(shù)字相等就將他的值加入sum1,并且跳出循環(huán)
if ((testArray[i] == testArray[j])&&(i != j)){
sum += testArray[i];
break;
}
}
sum1 += testArray[i];
}
//sum與sum1相減的值就是非重復(fù)的數(shù)字之和
console.log(sum1-sum);
}
函數(shù)有待優(yōu)化,在此只是簡(jiǎn)單說(shuō)明其算法思路而已_

野薇薇