// 数组去重
{
const arr = [1,2,3,4,1,23,5,2,3,5,6,7,8,undefined,null,null,undefined,true,false,true,‘中文‘,‘‘,‘‘,‘hello‘,‘中文‘];
// 第一种
const r = [...new Set(arr)];
console.log(r); // [1, 2, 3, 4, 23, 5, 6, 7, 8, undefined, null, true, false, "中文", "", "hello"] // 第二种
const R = arr.reduce((all,name) => all.includes(name) ? all :[...all,name],[]);
console.log(R); // [1, 2, 3, 4, 23, 5, 6, 7, 8, undefined, null, true, false, "中文", "", "hello"] // 第三种
const k = arr.filter((item, i) => i === arr.indexOf(item));
console.log(k); // [1, 2, 3, 4, 23, 5, 6, 7, 8, undefined, null, true, false, "中文", "", "hello"]
} // 统计每个元素在数组中出现的次数
{
const arr = [‘zhangsan‘, ‘lisi‘, ‘wangwu‘, ‘zhangsan‘, ‘lisi‘, ‘wangwu‘,‘zhaosi‘,‘liuneng‘];
const r = arr.reduce((all, name) =>{
if(name in all){
all[name]++
}else{
all[name] = 1;
}
return all;
},{});
console.log(r); // {zhangsan: 2, lisi: 2, wangwu: 2, zhaosi: 1, liuneng: 1}
} // 数组对象去重
{
const arr = [
{
name:‘zhangsan‘,
age:12
},
{
name:‘lisi‘,
age:14
},
{
name:‘zhangsan‘,
age:12
},
{
name:‘lisi‘,
age:14
},
{
name:‘zhangsan‘,
age:12
},
{
name:‘lisi‘,
age:14
},
{
name:‘zhangsan‘,
age:12
},
{
name:‘wangwu‘,
age:16
},
{
name:‘wagnwu‘,
age:16
},
{
name:‘lisi‘,
age:14
}, ] // 根据 age 去重
// 方法一
const age = ‘age‘;
const r = arr.reduce((all, next) => all.some((atom) => atom[age] == next[age]) ? all : [...all, next],[]);
console.log(r); }
//指定具体元素//删除id=5的
let arr = [
{ id: 1, name: '北京' },
{ id: 2, name: '上海' },
{ id: 3, name: '深圳' },
{ id: 4, name: '广州' },
{ id: 5, name: '青岛' }
]
arr.splice(arr.findIndex(item=>item.id==5),1)

//find方法用于查找第一个符合条件的数组成员,如果没有找到返回undefind
    let target = arr.find((item,index) => {
return item.id ==1
})
console.log(target)
//删除id大于3的(只保留小于等于3)
let arr2 = arr.reduce((total, current) => {
current.id<= 3 && total.push(current);
return total;
}, []);

  

//筛选去掉没有子组件的父组件 (parentId为0代表是父组件)
let arr = [
{
name:'1',
id:1,
parentId:0
},{
name:'3',
id:3,
parentId:0
},{
name:'2',
id:2,
parentId:0
},{
name:'1333',
id:13,
parentId:1
},{
name:'2444',
id:24,
parentId:2
}]
arr = arr.filter((x, index, self)=>{
// x : 数组每一项的值
// index: 每一项的下标
// self: 当前数组
return x.parentId!=0 || self.some((atom) => atom['parentId'] == x['id'] )
})

es6数组去重、数组中的对象去重 && 删除数组(按条件或指定具体元素 如:id)&& 筛选去掉没有子组件的父组件的更多相关文章

  1. vuejs利用props,子组件修改父组件的数据,父组件修改子组件的的数据,数据类型为数组

    博文参考 传送们点一点 父组件: <template> <div> <aa class="abc" v-model="test" ...

  2. Vue中利用$emit实现子组件向父组件通信

    Vue中利用$emit实现子组件向父组件通信 父组件 <template> <div> <p>我是父组件</p> <child :isShow=& ...

  3. 九、React中的组件、父子组件、React props父组件给子组件传值、子组件给父组件传值、父组件中通过refs获取子组件属性和方法

    一.概述 React中的组件: 解决html 标签构建应用的不足. 使用组件的好处:把公共的功能单独抽离成一个文件作为一个组件,哪里里使用哪里引入. [父子组件]:组件的相互调用中,我们把调用者称为父 ...

  4. 从给数组中的对象去重看Javascript中的reduce()

    假设有这样一个数组: let person = [ {id: 0, name: "小明"}, {id: 1, name: "小张"}, {id: 2, name ...

  5. java 集合 HashSet 实现随机双色球 HashSet addAll() 实现去重后合并 HashSet对象去重 复写 HashCode()方法和equals方法 ArrayList去重

    package com.swift.lianxi; import java.util.HashSet; import java.util.Random; /*训练知识点:HashSet 训练描述 双色 ...

  6. vue 解决双向绑定中 父组件传值给子组件后 父组件值也跟着变化的问题

    说明: 近日开发中碰见一个很诡异的问题,  父组件动态的修改对象 data 中的值, 然后将这个对象 data 传给子组件, 子组件拿到后将 data 中的值 乘以 100 ,发现父组件中的值也跟着变 ...

  7. vue中父组件给子组件传值,子组件给父组件传值

    1.父组件传给子组件 父元素中 子元素中(通过props传值) 2.子组件传给父组件 子元素中(this.$emit(传过去的名字,传的参数)) 父元素中 通过changeShow的参数data 把修 ...

  8. 关于Vue中,父组件获取子组件的数据(子组件调用父组件函数)的方法

    1. 父组件调用子组件时,在调用处传给子组件一个方法 :on-update="updateData"   2. 子组件在props中,接收这个方法并声明 props: { onUp ...

  9. 【Vue项目笔记】—— 父子组件之间传递参数和子组件执行父组件中的方法

    父组件(MyBlog.vue) <template> <!-- Delete Modal --> <!-- 注意:这里的@deleteBlog中的deleteBlog要和 ...

  10. 小姐姐手把手教你JS数组中的对象去重

    有时候数据库中的数据重复的,我们另一个需求需要数据的唯一性 那么这时候就用到这个方法了  我还是以截图的方式发粗来  不然太丑了 见谅 console.log(map)打印出来的结果已经帮我们把需要的 ...

随机推荐

  1. 【面试题】手写async await核心原理,再也不怕面试官问我async await原理

    前言 async await 语法是 ES7出现的,是基于ES6的 promise和generator实现的 generator函数 在之前我专门讲个generator的使用与原理实现,大家没了解过的 ...

  2. jreg视频内容整理

    目录 5种变得开心的方法 我(曾经)想死 别再问我过得好不好了 5种变得开心的方法 浪费时间,比如打游戏,什么都不干 停止思考,什么都不要想,刷视频 独处,不要跟别人分享你的痛苦,把自己的痛苦当作世界 ...

  3. 实验四 Web服务器2

    任务详情 基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用Linux Socket实现: Web服务器的客户端服务器,提交程序运行截图 实现GET即可,请求,响应要符合HTTP协议规范 服务 ...

  4. django的模版

    django的模版 1模版语法  views.py 书写方式 def index(request): ''' 模版语法分: 变量: {{ }} 1. 深度查询 句点符 2. 过滤器 {{val|fil ...

  5. SimplCommerce 核心

    EF配置 using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks ...

  6. a 标签下载文件重命名文件失效

    背景 : a标签下载cos桶文件download失效 原因:下载的链接跨域,download 属性重命名文件失效,浏览器无法获取到文件,无法进行更改. 解决办法: downloadFile(url, ...

  7. 加密算法和hash

    随着安全问题越来越被重视,公司也全面替换了HTTP为HTTPS.2015年iOS9的ATS到今年苹果更是放出话来,2017年全面支持HTTPS,不支持的App,在审核的时候可能会遇到麻烦.鉴于此,我有 ...

  8. lua如何转化为exe

    在这里下载    https://wwn.lanzout.com/iIS9d07rpesh 然后用cmd到 下载的盘:\luapack\luapack\bin\Debug 然后glue.exe srl ...

  9. 软件工程日报七——checkbox的使用

    今天学了checkbox的使用 activity_main.xml文件为 <?xml version="1.0" encoding="utf-8"?> ...

  10. JSON操作方法

    一 JSON.stringify JSON.stringify() 方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串,如果指定了replacer是一个函数,则可以替换值,或 ...