Discuss / JavaScript / 长,但容易懂

长,但容易懂

Topic source
    return arr.filter(
        x => {
            let result = true;
            let end = Math.sqrt(x);
            let flag = 0;
            for (let i = 2; i <= end; i++) {
                if (x % i == 0) {
                    flag = 1;
                    break;
                }
            }
            if (x == 1) {
                //单独判断1不是素数
                result = false;
            } else if (flag == 0) {
                //素数
                result = true;
            } else {
                //合数
                result = false;
            }
            return result;
        }
    );


  • 1

Reply