A method for detecting a heart rate, comprising: acquiring a plurality of time-domain heart rate detection data; if the plurality of time-domain heart rate detection data comprises a weak interference signal, extracting a first feature point from the plurality of time-domain heart rate detection data, and collecting statistics on feature data of the first feature point to determine time-domain heart rate detection data used in calculating the heart rate; if the plurality of time-domain heart rate detection data comprises a strong interference signal, transforming the plurality of time-domain heart rate detection data to a frequency domain to obtain a plurality of frequency-domain heart rate detection data, extracting a second feature point from the plurality of frequency-domain heart rate detection data, and collecting statistics on feature data of the second feature point to determine frequency-domain heart rate detection data used in calculating the heart rate; and calculating the heart rate based on the time-domain heart rate detection data or the frequency-domain heart rate detection data used in calculating heart rate, wherein the first feature point comprises peaks and valleys, the collecting statistics on feature data of the first feature point to determine time-domain heart rate detection data used in calculating the heart rate further comprises: collecting statistics on amplitudes of a plurality of peaks and amplitudes of a plurality of valleys, to determine a plurality of adjacent peak-valley amplitude differences; and determining the time-domain heart rate detection data used in calculating the heart rate based on the plurality of adjacent peak-valley amplitude differences, characterize in that the determining the time-domain heart rate detection data used in calculating the heart rate based on the plurality of adjacent peak-valley amplitude differences further comprises: collecting statistics on an average value of N contiguous adjacent peak-valley amplitude differences, N being an odd number; and if a middle adjacent peak-valley amplitude difference is less than a product of the average value and an adjustment factor, determining that the time-domain heart rate detection data of the peaks corresponding to the middle adjacent peak-valley amplitude difference is not used in calculating the heart rate. acquiring a plurality of time-domain heart rate detection data; if the plurality of time-domain heart rate detection data comprises a weak interference signal, extracting a first feature point from the plurality of time-domain heart rate detection data, and collecting statistics on feature data of the first feature point to determine time-domain heart rate detection data used in calculating the heart rate; if the plurality of time-domain heart rate detection data comprises a strong interference signal, transforming the plurality of time-domain heart rate detection data to a frequency domain to obtain a plurality of frequency-domain heart rate detection data, extracting a second feature point from the plurality of frequency-domain heart rate detection data, and collecting statistics on feature data of the second feature point to determine frequency-domain heart rate detection data used in calculating the heart rate; and calculating the heart rate based on the time-domain heart rate detection data or the frequency-domain heart rate detection data used in calculating heart rate, wherein the first feature point comprises peaks and valleys, the collecting statistics on feature data of the first feature point to determine time-domain heart rate detection data used in calculating the heart rate further comprises: collecting statistics on amplitudes of a plurality of peaks and amplitudes of a plurality of valleys, to determine a plurality of adjacent peak-valley amplitude differences; and determining the time-domain heart rate detection data used in calculating the heart rate based on the plurality of adjacent peak-valley amplitude differences, collecting statistics on amplitudes of a plurality of peaks and amplitudes of a plurality of valleys, to determine a plurality of adjacent peak-valley amplitude differences; and determining the time-domain heart rate detection data used in calculating the heart rate based on the plurality of adjacent peak-valley amplitude differences, characterize in that the determining the time-domain heart rate detection data used in calculating the heart rate based on the plurality of adjacent peak-valley amplitude differences further comprises: collecting statistics on an average value of N contiguous adjacent peak-valley amplitude differences, N being an odd number; and if a middle adjacent peak-valley amplitude difference is less than a product of the average value and an adjustment factor, determining that the time-domain heart rate detection data of the peaks corresponding to the middle adjacent peak-valley amplitude difference is not used in calculating the heart rate. collecting statistics on an average value of N contiguous adjacent peak-valley amplitude differences, N being an odd number; and if a middle adjacent peak-valley amplitude difference is less than a product of the average value and an adjustment factor, determining that the time-domain heart rate detection data of the peaks corresponding to the middle adjacent peak-valley amplitude difference is not used in calculating the heart rate.