美文网首页
每日 30 秒之 取出对象数组中唯一的数据集

每日 30 秒之 取出对象数组中唯一的数据集

作者: PushMeTop | 来源:发表于2019-03-10 19:03 被阅读0次

简介

取出对象数组中唯一的数据集。

// 该源码来自于 https://30secondsofcode.org
const filterNonUniqueBy = (arr, fn) =>
  arr.filter((v, i) => arr.every((x, j) => (i === j) === fn(v, x, i, j)));

代码分析

代码使用了 Array.prototype.filter 来进行遍历数组并获取过滤,通过 Array.prototype.everyfn 来对数据项进行判断是否重复出现过。

使用场景

从后端或者数据库分别获取到参加不同马拉松的用户并对这些用户做归集,通过 filterNonUniqueBy 来寻找只参加过一次马拉松的用户。

// 查询到参加 2019厦门马拉松的数据
const join2019 = [
    { id: 1, name: 'xiaoer', join: ['2019厦门马拉松', '2018厦门马拉松'] },
    { id: 2, name: 'xiaosi', join: ['2019厦门马拉松'] },
]

// 查询到参加 2018年马拉松的数据
const join2018 = [
    { id: 1, name: 'xiaoer', join: ['2019厦门马拉松', '2018厦门马拉松'] },
    { id: 3, name: 'menty', join: ['2018厦门马拉松'] },
]

// 合并数据
const users = [...join2019, ...join2018]

// 获取只参加过一次的用户
// 输出:
// [
//    {id: 2, name: "xiaosi", sales: 50000},
//    {id: 3, name: "menty", sales: 150000}
// ]
const joinOnce = filterNonUniqueBy(users, (a, b) => a.id === b.id)

相似代码

取出数组中唯一的数据集。

// 该源码来自于 https://30secondsofcode.org
const filterNonUnique = arr => arr.filter(i => arr.indexOf(i) === arr.lastIndexOf(i))

打赏&联系

如果您感觉有收获,欢迎给我打赏,以激励我输出更多的优质内容。

打赏&联系

本文原稿来自 PushMeTop

相关文章

  • 每日 30 秒之 取出对象数组中唯一的数据集

    简介 取出对象数组中唯一的数据集。 代码分析 代码使用了 Array.prototype.filter 来进行遍历...

  • Js 递归查找数组中指定条件的一组对象

    需求:在多维数组中查找指定条件的对象,且取出该对象内容数据;数组数据格式如下: 实现:方法一: 方法二: 方法三,...

  • PHP关联数组前台取值问题

    今天在开发中,前端反馈一个接口问题,PHP给的数据集明明是Json数组,取出来却是一个对象,好吧,开始排查 经过排...

  • ES6——解构赋值

    从数组或者对象中提取出数据,并分别赋值给多个变量。 结构数组时,等号左边用数组的方式接收; 结构对象时,等号左边用...

  • Kotlin数据容器(1)✔️数组

    对象数组基本数据类型数组   数据容器是基于某种数据结构的,常见的数据结构有数组 (Array)、集 (Set)、...

  • Ruby each 方法

    each方法 是将对象集合中的对象逐个取出, 这与 for语句 循环取出数组元素非常相似. 实际上, 我们可以非常...

  • 取出对象数组中的 key value

    记录一下,最近常用这个

  • 引用类型数组

    数组是对象 在Java中,数组属于引用类型数据数组数据在堆中存储,数组变量属于引用类型,存储数组对象的地址信息,指...

  • 慕课网-C++远征之封装篇(下)-学习笔记

    C++远征之封装篇(下) c++封装概述 类 & 对象 对象+数据成员 = 对象成员 对象 + 数组 = 对象数组...

  • 第七天

    数组 数组是引用数据类型中的对象数据类型(特殊对象)创建一个数组,也要开辟一个堆内存,堆内存中存储数据对象中的键值...

网友评论

      本文标题:每日 30 秒之 取出对象数组中唯一的数据集

      本文链接:https://www.haomeiwen.com/subject/whhypqtx.html