Singular and oscillatory functions feature in numerous applications. The high-accuracy approximation of such functions shall greatly help us develop high-order methods for solving applied mathematics problems. This paper demonstrates that hyperinterpolation, a discrete projection method with coefficients obtained by evaluating the L 2 orthogonal projection coefficients using some numerical integration methods, may be inefficient for approximating singular and oscillatory functions. A relatively large amount of numerical integration points are necessary for satisfactory accuracy. Moreover, in the spirit of product-integration, we propose an efficient modification of hyperinterpolation for such approximation. The proposed approximation scheme, called efficient hyperinterpolation, achieves satisfactory accuracy with fewer numerical integration points than the original scheme. The implementation of the new approximation scheme is relatively easy. Theorems are also given to explain the outperformance of efficient hyperinterpolation over the original scheme in such approximation, with the functions assumed to belong to L 1 (Ω), L 2 (Ω), and C(Ω) spaces, respectively. These theorems, as well as numerical experiments on the interval and the sphere, show that efficient hyperinterpolation has better accuracy in such approximation than the original one when the amount of numerical integration points is limited.