JS數(shù)據(jù)分析數(shù)據(jù)去重及參數(shù)序列化示例
列表去重
使用 Set 數(shù)據(jù)結(jié)構(gòu)
const set = new Set([2, 8, 3, 8, 5])
注:Set 數(shù)據(jù)結(jié)構(gòu)認(rèn)為對(duì)象永不相等,即使是兩個(gè)空對(duì)象,在 Set 結(jié)構(gòu)內(nèi)部也是不等的
方法封裝
const uniqueness = (data, key) => { const hash = new Map() return data.filter(item => !hash.has(item[key]) && hash.set(item[key], 1)) }
對(duì)象轉(zhuǎn)為查詢字符串
代碼注釋
/** * @description: 對(duì)象轉(zhuǎn)為查詢字符串 * @params {Object} data: 源數(shù)據(jù) * @return {String} 目標(biāo)數(shù)據(jù) * @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('&') }
獲取查詢參數(shù)
代碼注釋
/** * @description: 獲取查詢參數(shù) * @params {String} name: 查詢參數(shù)名稱 * @return {String} 目標(biāo)數(shù)據(jù) * @example * * getQueryString('id') */
方法封裝
export const getQueryString = key => { return (new URLSearchParams(location.search)).get(key) }
擴(kuò)展封裝
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數(shù)據(jù)分析數(shù)據(jù)去重及參數(shù)序列化示例的詳細(xì)內(nèi)容,更多關(guān)于JS數(shù)據(jù)去重參數(shù)序列化的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
微信小程序-getUserInfo回調(diào)的實(shí)例詳解
這篇文章主要介紹了微信小程序-getUserInfo回調(diào)的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-10-10umi插件開發(fā)仿dumi項(xiàng)目自動(dòng)生成導(dǎo)航欄實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了umi插件開發(fā)仿dumi項(xiàng)目自動(dòng)生成導(dǎo)航欄實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01ResizeObserver 監(jiān)視 DOM大小變化示例詳解
這篇文章主要為大家介紹了ResizeObserver 監(jiān)視 DOM大小變化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10sessionStorage多Tab標(biāo)簽頁數(shù)據(jù)共享問題分析
這篇文章主要為大家介紹了sessionStorage多Tab標(biāo)簽頁數(shù)據(jù)共享問題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07微信小程序 數(shù)組(增,刪,改,查)等操作實(shí)例詳解
這篇文章主要介紹了微信小程序 數(shù)組(增,刪,改,查)等操作實(shí)例詳解的相關(guān)資料,這里對(duì)小程序的數(shù)組進(jìn)行操作,簡(jiǎn)單實(shí)例,需要的朋友可以參考下2017-01-01