我们在写js的时候,最烦的就是处理数组一类的东西,其实数组说难不难,说简单吧,也挺简单的,我这里有这样一个需求,就是后端给到一个数组,其中一个有一个字段我是不需要的,我需要将不需要的字段过滤掉,我当时首先想到的是重绘数组,也就是克隆一个数组,克隆的过程中将不需要的字段不克隆,最后也实现了,但是反复想想怎么都感觉不合理,这样的写法是不是很傻*啊,所以有了今天的文章!
过滤不需要的字段
<!DOCTYPE html>
<!--
author : clearlove
aim : filter不需要的数据
-->
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
//声明一个数组
let books = [{name : 'python新特性',author : 'tom'},{name : 'C#',author : 'mary'},{name : 'java',author : 'jim'},{name : 'python',author : 'jerry'}]
//正则过滤不需要的字段
let reg = "^((?!python).)*$";
books = books.filter(function(item){
return item.name.match(reg);
})
console.info(books);
</script>
</body>
</html>
console :
过滤需要的字段
<!DOCTYPE html>
<!--
author : clearlove
aim : filter不需要的数据
-->
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
//声明一个数组
let books = [{name : 'python新特性',author : 'tom'},{name : 'C#',author : 'mary'},{name : 'java',author : 'jim'},{name : 'python',author : 'jerry'}]
//正则过滤不需要的字段
let reg = "^((?!python).)*$";
books = books.filter(function(item){
return item.name.match(/python/);
})
console.info(books);
</script>
</body>
</html>
console :