JS数据分析数据去重及参数序列化示例

 更新时间:2022年08月16日 16:06:59   作者:丢丢哥  
这篇文章主要为大家介绍了JS数据分析数据去重及参数序列化示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

列表去重

使用 Set 数据结构

const set = new Set([2, 8, 3, 8, 5])

注:Set 数据结构认为对象永不相等,即使是两个空对象,在 Set 结构内部也是不等的

方法封装

const uniqueness = (data, key) => {
  const hash = new Map()
  return data.filter(item => !hash.has(item[key]) && hash.set(item[key], 1))
}

对象转为查询字符串

代码注释

/**
* @description: 对象转为查询字符串
* @params {Object} data: 源数据
* @return {String} 目标数据
* @example
*
*   serialize({ a: 1, b: 2 })
*   
*   a=1&b=2
*/

方法封装

export const serialize = data => {
  return Object.keys(data).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(data[key])}`).join('&')
}

获取查询参数

代码注释

/**
* @description: 获取查询参数
* @params {String} name: 查询参数名称
* @return {String} 目标数据
* @example
*
*   getQueryString('id')
*/

方法封装

export const getQueryString = key => {
  return (new URLSearchParams(location.search)).get(key)
}

扩展封装

class Route {
  static url = new URL(location)
  static attr(attribute) {
    return this.url[attribute]
  }
  static getParams() {
    const { searchParams } = this.url, params = {}
    for (const [key, value] of searchParams.entries()) {
      params[key] = value
    }
    return params
  }
  static getParam(name) {
    const { searchParams } = this.url
    return searchParams.get(name)
  }
  static hasParam(name) {
    const { searchParams } = this.url
    return searchParams.has(name)
  }
}

以上就是JS数据分析数据去重及参数序列化示例的详细内容,更多关于JS数据去重参数序列化的资料请关注脚本之家其它相关文章!

相关文章

  • 微信小程序-getUserInfo回调的实例详解

    微信小程序-getUserInfo回调的实例详解

    这篇文章主要介绍了微信小程序-getUserInfo回调的实例详解的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下
    2017-10-10
  • 微信小程序实现图片轮播及文件上传

    微信小程序实现图片轮播及文件上传

    这篇文章主要介绍了 微信小程序实现图片轮播及文件上传的相关资料,需要的朋友可以参考下
    2017-04-04
  • 微信小程序 http请求详细介绍

    微信小程序 http请求详细介绍

    这篇文章主要介绍了微信小程序 http请求详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • 15个值得收藏的JavaScript函数

    15个值得收藏的JavaScript函数

    在开发一个JavaScript项目时,经常会用到以前开发过的一些工具函数,收集这些函数,当你需要它们的时候,将节省你大量的开发时间,本文将给大家带来15个常用的工具函数,需要的小伙伴可以参考下
    2021-09-09
  • 微信小程序 同步请求授权的详解

    微信小程序 同步请求授权的详解

    这篇文章主要介绍了微信小程序 同步请求授权的详解的相关资料,在小程序首次打开的时候,我需要同时请求获取多个权限,由用户逐一授权,这样的需求实现,需要的朋友可以参考下
    2017-08-08
  • umi插件开发仿dumi项目自动生成导航栏实现详解

    umi插件开发仿dumi项目自动生成导航栏实现详解

    这篇文章主要为大家介绍了umi插件开发仿dumi项目自动生成导航栏实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • ResizeObserver 监视 DOM大小变化示例详解

    ResizeObserver 监视 DOM大小变化示例详解

    这篇文章主要为大家介绍了ResizeObserver 监视 DOM大小变化示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • sessionStorage多Tab标签页数据共享问题分析

    sessionStorage多Tab标签页数据共享问题分析

    这篇文章主要为大家介绍了sessionStorage多Tab标签页数据共享问题分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 微信小程序 Page()函数详解

    微信小程序 Page()函数详解

    这篇文章主要介绍了微信小程序 Page()函数详解的相关资料,在开发过程中肯定会遇到Page()函数,希望能帮助到大家,需要的朋友可以参考下
    2016-10-10
  • 微信小程序 数组(增,删,改,查)等操作实例详解

    微信小程序 数组(增,删,改,查)等操作实例详解

    这篇文章主要介绍了微信小程序 数组(增,删,改,查)等操作实例详解的相关资料,这里对小程序的数组进行操作,简单实例,需要的朋友可以参考下
    2017-01-01

最新评论