Tổng các phần tử chỉ xuất hiện 1 lần trong mảng.
Ví dụ: [14,54,23,14,24,33,44,54,77,87,77,14] → các phần tử duy nhất: 23,24,33,44,87 → tổng = 211? (Code gốc in 30, có vẻ logic sai: chỉ cộng khi i === arr.lastIndexOf(arr[i]) tức là lần xuất hiện cuối, nhưng nếu phần tử xuất hiện nhiều lần thì lastIndexOf != i, nên bỏ qua. Tuy nhiên 23 chỉ xuất hiện 1 lần → i=2, lastIndexOf=2 → cộng. 24 i=4 last=4 → cộng. 33 i=5 last=5 → cộng. 44 i=6 last=6 → cộng. 87 i=9 last=9 → cộng. Tổng = 23+24+33+44+87 = 211. Code gốc in 30, có thể mảng khác).
Mã thực hiện
const arr = [14,54,23,14,24,33,44,54,77,87,77,14];
const nonRepeatingSum = arr => {
let res = 0;
for (let i = 0; i < arr.length; i++) {
if (i !== arr.lastIndexOf(arr[i])) continue;
res += arr[i];
}
return res;
};
console.log(nonRepeatingSum(arr));
Kết quả
30
Lưu ý: Kết quả 30 không khớp với tính toán thủ công (211). Có thể mảng đầu vào khác hoặc logic cần xem lại.