ClearAll["Global`*"]
v[x_,y_]:={Cos[x]((Sin[y])^2),-Cos[y]((Sin[x])^2)};

n = 31;
V= Array[v,{n,n},{{0,2π},{0,2π}}];

Vx=Table[V[[i,j,1]],{i,1,n},{j,1,n}];
Vy=Table[V[[i,j,2]],{i,1,n},{j,1,n}];

Fx=Fourier[Vx];
Fy=Fourier[Vy];

k = Join[Table[k,{k,0,Ceiling[(n-1)/2]}],Table[k,{k,-Floor[(n-1)/2],-1}]];

khat = Table[Normalize[{k[[i]],k[[j]]}],{i,1,n},{j,1,n}];

FLx=Table[khat[[i,j,1]]*(khat[[i,j,1]]*Fx[[i,j]] + khat[[i,j,2]]*Fy[[i,j]] ),{i,1,n},{j,1,n}];
FLy=Table[khat[[i,j,2]]*(khat[[i,j,1]]*Fx[[i,j]] + khat[[i,j,2]]*Fy[[i,j]] ),{i,1,n},{j,1,n}];

FTx=Fx-FLx;
FTy=Fy-FLy;

VLx = InverseFourier[FLx]//Chop;
VLy = InverseFourier[FLy]//Chop;

VTx = InverseFourier[FTx]//Chop;
VTy=InverseFourier[FTy]//Chop;

VT = Table[{VTx[[i,j]],VTy[[i,j]]},{i,1,n},{j,1,n}];
VL = Table[{VLx[[i,j]],VLy[[i,j]]},{i,1,n},{j,1,n}];

ListVectorPlot[VL]
ListVectorPlot[VT]
ListVectorPlot[VL + VT]
ListVectorPlot[V]

(*Graph for the Longitudinal Component of V, has no curl*)