java 数组 过滤_java中filter()过滤循环和while循环,实例分享

在社会经济水平不断提升的今时今日,越来越多的人开始学习新兴技术以谋求更好的薪资和发展。java由于其内容的丰富性成为了很多人的选择。今天就来介绍一下java中filter()过滤循环和while循环,并且通过实际的代码来展示,一起来了解一下吧。

一、首先说一下filter()过滤循环

filter方法用于过滤数组成员,满足条件的成员组成一个新数组返回。它的参数是一个函数,所有数组成员依次执行该函数,返回结果为true的成员组成一个新数组返回。该方法不会改变原数组。代码展示如下:[1, 2, 3, 4, 5].filter(function (elem)

{

return (elem > 3);

}) // [4, 5]

// 上面代码将大于3的数组成员,作为一个新数组返回。

var arr = [0, 1, 'a', false];

arr.filter(Boolean) // [1, "a"]

filter方法的参数函数也可以接受三个参数:当前成员,当前位置和整个数组。代码展示如下:[1, 2, 3, 4, 5].filter(function (elem, index, arr)

{

return index % 2 === 0;

}); // [1, 3, 5]

此外,filter方法也可以接受第二个参数,用来绑定参数函数内部的this变量。代码展示如下:var obj = {

MAX: 3

};

var myFilter = function (item)

{

if (item > this.MAX) return true;

};

var arr = [2, 8, 3, 4, 1, 3, 2, 9];

arr.filter(myFilter, obj) // [8, 4, 9]

上面代码中,过滤器myFilter内部有this变量,它可以被filter方法的第二个参数obj绑定,返回大于3的成员。

二、然后介绍一下while循环:

While语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。代码展示如下:while (条件) 语句;

// 或者

while (条件) 语句;

//举例:

var i = 0;

while (i 

{

console.log('i 当前为:' + i);

i = i + 1;

}

以上就是关于关于java中filter()过滤循环和while循环的主要内容。并且通过实际的代码为大家展示出来。如果你对java知识感兴趣,想要了解更多java经典例子,敬请关注奇Q工具网。

推荐阅读:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你的问题是如何解决JavaWeb上传图片时的过滤问题。这个问题其实可以通过在JavaWeb使用Filter来解决。 具体的实现方法如下: 1. 创建一个过滤器类,实现javax.servlet.Filter接口。 2. 在doFilter方法,获取上传文件的文件名,然后判断文件名是否以.jpg、.jpeg、.png、.gif等图片格式结尾。 3. 如果是图片文件,则直接放行,否则就拒绝上传并返回错误信息。 4. 在web.xml文件配置该过滤器。 下面是一个简单的示例代码,仅供参考: ``` import java.io.IOException; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebFilter(filterName = "UploadFilter", urlPatterns = {"/upload/*"}) public class UploadFilter implements Filter { private String[] allowedExt = {".jpg", ".jpeg", ".png", ".gif"}; public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; String fileName = request.getHeader("file-name"); if (fileName != null) { for (String ext : allowedExt) { if (fileName.endsWith(ext)) { chain.doFilter(request, response); return; } } } response.sendError(HttpServletResponse.SC_BAD_REQUEST, "只允许上传图片文件"); } public void init(FilterConfig filterConfig) throws ServletException { } public void destroy() { } } ``` 这个过滤器会拦截所有以"/upload/"开头的URL,并检查上传文件名是否以.jpg、.jpeg、.png、.gif等图片格式结尾。如果是图片文件,则直接放行,否则就拒绝上传并返回错误信息。你可以根据实际需求进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值