使用filter函数筛选出素数
function getPrimeNumber(arr) { return arr.filter(function (number) { if (typeof number !== 'number' || number<2) { // 不是数字或者数字小于2 return false; } if (number === 2) { return true; } else if (number % 2 === 0) { // 排除偶数 return false; } // 从3开始,且已经排除偶数,所以每次加2 for(var i = 3; i < number; i += 2) { if (number % i === 0) { return false; } } return true; }) }
getPrimeNumber(Array.from(new Array(101).keys())); 结果: (25) [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]