Why using arguments[i] in the code below gives error?

Why using arguments[i] in the code below gives error?


not error



Just to try - substitute args for arguments


@rickstewart args will be the first argument ie [1,2,3]. I used a counter ‘i’ here to make my program general enough to handle more than 2 args. The program needs some correction to make it general enough to find symettric differnce of more that 2 arguments but first I have to solve this problem.


You’re right - sorry about that - I didn’t look close enough or long enough…


@rickstewart no need to say sorry.


This is the way I usually make logic, am I doing wrong or is it fine?

@daemus this is the solution that I opted.


why do I get “dont make functions within loop” warnings when I havent made any functions within loop?


You’re getting that error on the second invocation of the filter callback. At that point, i+1 would be 2, resolving to arguments[2].indexOf(a). That element doesn’t exist, meaning that indexOf doesn’t exist.


@daemus loop will run for i = 0 only then how come i will be 2 ?
In the for loop, condition is i < arguments.length - 1 // i < 1


I stand corrected. I did not notice that in the conditional.


You’ll want to save the original function’s arguments object into another variable, then access that within the filter callback.