当前位置:网站首页>es6 filter() 数组过滤方法总结
es6 filter() 数组过滤方法总结
2022-07-03 01:32:00 【蓝胖子的多啦A梦】
es6 filter() 数组过滤方法总结
1.创建一个数组,判断数组中是否存在某个值
var newarr = [
{
num: 1, val: 'ceshi', flag: 'aa' },
{
num: 2, val: 'ceshi2', flag: 'aa2' }
]
console.log(newarr.filter(item => item.num===2 ))
2.也可以通过上面方法过滤掉num为2的留下num为1的
var newarr = [
{
num: 1, val: 'ceshi', flag: 'aa' },
{
num: 2, val: 'ceshi2', flag: 'aa2' }
]
console.log(newarr.filter(item => item.num!=2 ))
3.去掉空数组空字符串、undefined、null
var arr = ['1','2',undefined, '3.jpg',undefined]
var newArr = arr.filter(item => item)
console.log(newArr)
var arr = ['1','2',null, '3.jpg',null]
var newArr = arr.filter(item => item)
console.log(newArr)
>//空字符串里面不能包含空格
var arr = ['1','2','', '3.jpg','']
var newArr = arr.filter(item => item)
console.log(newArr)
4.去掉数组中不符合项
var arr = [20,30,50, 96,50]
var newArr = arr.filter(item => item>40)
console.log(newArr)
5.过滤不符合项
var arr = ['10','12','23','44','42']
var newArr = arr.filter(item => item.indexOf('2')<0)
console.log(newArr)
6.数组去重
var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];
var arr2 = arr.filter((x, index,self)=>self.indexOf(x)===index)
console.log(arr2); //[1, 2, 3, 4, 5, 6, 7, 8, 0, 56]
7.数组去重es6
var arr=[1,2,1,'1',null,null,undefined,undefined,NaN,NaN]
let res=Array.from(new Set(arr));//{1,2,"1",null,undefined,NaN}
//or
let newarr=[...new Set(arr)]
8.数组对象去重es6
let person = [
{
id: 0, name: "小明"},
{
id: 1, name: "小张"},
{
id: 2, name: "小李"},
{
id: 3, name: "小孙"},
{
id: 1, name: "小周"},
{
id: 2, name: "小陈"},
];
let obj = {
};
let peon = person.reduce((cur,next) => {
obj[next.id] ? "" : obj[next.id] = true && cur.push(next);
return cur;
},[]) //设置cur默认类型为数组,并且初始值为空的数组
console.log(peon);
// (4) [{…}, {…}, {…}, {…}]0: {id: 0, name: "小明"}1: {id: 1, name: "小张"}2: {id: 2, name: "小李"}3: {id: 3, name: "小孙"}length: 4__proto__: Array(0)
边栏推荐
- PS remove watermark details
- Types of map key and object key
- How to refresh the opening amount of Oracle ERP
- [AUTOSAR cantp] -2.11-uds diagnostic response frame data segment data padding data filling and data optimization data optimization (Theory + configuration)
- 网络安全-钓鱼
- Depth (penetration) selector:: v-deep/deep/ and > > >
- 网络安全-中间人攻击
- 网络安全-破解系统密码
- File class (add / delete)
- Network security NAT network address translation
猜你喜欢
In 2022, 95% of the three most common misunderstandings in software testing were recruited. Are you that 5%?
[leetcode] 797 and 1189 (basis of graph theory)
Sweet talk generator, regular greeting email machine... Open source programmers pay too much for this Valentine's day
[fluent] hero animation (hero animation use process | create hero animation core components | create source page | create destination page | page Jump)
The technology boss is ready, and the topic of position C is up to you
微信小程序开发工具 POST net::ERR_PROXY_CONNECTION_FAILED 代理问题
Query product cases - page rendering data
Network security - vulnerabilities and Trojans
STM32 - switch of relay control lamp
【Camera专题】手把手撸一份驱动 到 点亮Camera
随机推荐
[data mining] task 2: mimic-iii data processing of medical database
[North Asia data recovery] data recovery case of raid crash caused by hard disk disconnection during data synchronization of hot spare disk of RAID5 disk array
转载收录6.5大侠写的部分Qt开发经验
技术大佬准备就绪,话题C位由你决定
When the epidemic comes, how to manage the team as a leader| Community essay solicitation
[keil5 debugging] debug is stuck in reset_ Handler solution
Network security - cracking system passwords
LabVIEW安装第三方VISA软件后NI VISA失效
One of the C language practical projects is greedy snake
mysql
疫情當頭,作為Leader如何進行團隊的管理?| 社區征文
Network security - scan
【数据挖掘】任务3:决策树分类
Network security - virus
[shutter] animation animation (animatedwidget animation use process | create animation controller | create animation | create animatedwidget animation component | animation operation)
Network security - man in the middle attack
[fluent] fluent debugging (debug debugging window | viewing mobile phone log information | setting normal breakpoints | setting expression breakpoints)
网络安全-扫描与密码爆破2
word插入公式/endnote
【Camera专题】手把手撸一份驱动 到 点亮Camera