用filter()筛选出素数
'use strict';
function get_primes(arr) {
 return arr.filter(function isPrime(number) {
   if (typeof number !== 'number' || number<2) {
      // 不是数字或者数字小于2
      return false;
   }
if (number === 2) {//2是质数
      return true;
   } else if (number % 2 === 0) {//排除偶数
      return false;
   }
   var squareRoot = Math.sqrt(number);
  //因为2已经验证过,所以从3开始;且已经排除偶数,所以每次加2
   for(var i = 3; i <= squareRoot; i += 2) {
      if (number % i === 0) {
         return false;
      }
   }
   return true;
})
}
// 测试:
var
    x,
    r,
    arr = [];
for (x = 1; x < 100; x++) {
    arr.push(x);
}
r = get_primes(arr);
if (r.toString() === [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].toString()) {
    alert('测试通过!');
} else {
    alert('测试失败: ' + r.toString());
}
用filter()筛选出素数的更多相关文章
- 使用filter函数筛选出素数
		function getPrimeNumber(arr) { return arr.filter(function (number) { if (typeof number !== 'number' ... 
- filter(expr|obj|ele|fn)筛选出与指定表达式匹配的元素集合。
		filter(expr|obj|ele|fn) 概述 筛选出与指定表达式匹配的元素集合. 这个方法用于缩小匹配的范围.用逗号分隔多个表达式 参数 exprStringV1.0 字符串值,包含供匹配当前 ... 
- 如何从两个List中筛选出相同的值
		问题 现有社保卡和身份证若干,想要匹配筛选出一一对应的社保卡和身份证. 转换为List socialList,和List idList,从二者中找出匹配的社保卡. 模型 创建社保卡类 /** * @a ... 
- ES6 Map遍历、filter()筛选对象
		目录: -------- 1.map() -------- 2.filter(): ------------- 2.1.filter函数可以看成是一个过滤函数,返回符合条件的元素的数组 ------- ... 
- js中三个对数组操作的函数  indexOf()方法  filter筛选  forEach遍历 map遍历
		indexOf()方法 indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1. 不使用indexOf时 var arr = ['apple','orange','pea ... 
- servlet 和filter 抛出404等异常
		1. servlet抛出错误代码异常,如404 public void doGet(HttpServletRequest request, HttpServletResponse response) ... 
- 代码中输入数字自动筛选出最大值,使用array,for loop and if (21.9.2017)
		# include <stdio.h> # define N main(){ int a, b; ,,,,,,,,,,,,,,,,}; //array中输入需要排序的数字 ]; ; a & ... 
- js下拉框:从数组中筛选出匹配的数据
		handleChange(val) { let obj = {} // 遍历数组 obj = this.options.find(item => { // 筛选出匹配的数据 return ite ... 
- Python之filter筛选数据工具
		# -*- coding: utf-8 -*- #python 27 #xiaodeng #Python之filter筛选数据工具 #http://python.jobbole.com/82597/ ... 
随机推荐
- lucene4.6版本配置
			1.官网下载lucene的最新版本,解压后会看到很多文件,我们现在需要: E:\lucene-4.6.0\demo\lucene-demo-4.6.0.jar; E:\lucene-4.6.0\cor ... 
- 初识 visJs (基于html5 canvas开发的可视化框架)
			本文参考 https://github.com/almende/vis 编写并且自己总结各种快捷方式,意在帮助开发可视化图表的前端朋友快速了解visJs. vis.js Vis.js是一个基于浏览器的 ... 
- Oracle 查看session级别信息
			1. 查看活动会话信息[sql] view plain copySELECT * FROM V$SESSION WHERE USERNAME IS NOT NULL AND STAT ... 
- python入门5 运算符
			python运算符: 1 算术运算符 加减乘除 取余 求商 求幂等 2 比较运算符== != > >= < <= 3 逻辑运算符 and not or 4 赋值运 ... 
- 设计模式——简单工厂模式(SimpleFactory Pattern)
			最近做项目总是遇到这样或者那样的问题,代码不够简洁,代码可扩展性不够好,耦合度又太高了,导致经常有种想去重构又无从下手的感觉. 无意间翻出了之前买的一本书<大话设计模式>读了一遍,受益匪浅 ... 
- 使用paramiko的问题记录
			用paramiko时遇到问题,异常如下: 解决方法记录如下: 更新gmp版本: wget https://ftp.gnu.org/gnu/gmp/gmp-6.0.0a.tar.bz2 tar -xvj ... 
- 【web前端】第一个移动端的心里体会
			公司(zyqygl)没有UI,刚开始,并没有一些具体的标准,对于字体多大,头部底部多高等一些参数,完全没有概念,按照前辈的指导(只有一个标准:做出的东西跟设计图一毛一样就对了),粗略的搭了个框架. 大 ... 
- SpringMVC学习记录一——入门介绍和入门程序
			1 springmvc框架 1.1 什么是springmvc springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合. spr ... 
- P1800 software_NOI导刊2010提高(06)
			P1800 software_NOI导刊2010提高(06) 题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每个软件划分成m个模块,由公司里的技术 ... 
- 【题解】洛谷P1731 [NOI1999] 生日蛋糕(搜索+剪枝)
			洛谷P1731:https://www.luogu.org/problemnew/show/P1731 思路 三重剪枝 当前表面积+下一层表面积如果超过最优值就退出 当前体积+下一层体积如果超过总体积 ... 
