摘要:前言本文將分享幾個在項目中常用的數組方法原文地址不定期有干貨更新哦歡迎數組排序按數組元素大小從小到大進行排序按數組元素大小從大到小進行排序按數組元素的從小到大進行排序按數組元素的從大到小進行排序數組去重數組深拷貝數組等份分割數組扁平
前言
本文將分享幾個在項目中常用的數組方法~
原文地址: https://github.com/webfansplz...
不定期有干貨更新哦,歡迎watch,star!
1.數組排序const sortAry = [1, 5, 4, 3, 2, 6, 7]; 1.按數組元素大小從小到大進行排序 sortAry.sort((a, b) => a - b); //[1, 2, 3, 4, 5, 6, 7] 2.按數組元素大小從大到小進行排序 sortAry.sort((a, b) => b - a); //[7, 6, 5, 4, 3, 2, 1] const sortId = [ { id: 3, name: "c" }, { id: 1, name: "a" }, { id: 2, name: "b" } ]; 3. 按數組元素的id從小到大進行排序 sortId.sort((a, b) => a.id - b.id); //[{ id: 1, name: "a"},{id: 2, name: "b"},{id: 3, name: "c"}] 4.按數組元素的id從大到小進行排序 sortId.sort((a, b) => b.id - a.id); //[{ id: 3, name: "c" },{ id: 2, name: "b" },{ id: 1, name: "a" }] };2.數組去重
const uniqAry = ary => Array.from(new Set(ary)); const uniqAry2 = ary => ary.filter((v, k) => ary.indexOf(v) == k); const ary = [1, 2, 1, 2, 3, 4, 3]; uniqAry(ary) //[1,2,3,4] uniqAry2(ary) //[1,2,3,4]3.數組深拷貝
const copyAry = [1, 2, 3, 4]; const ary = [].slice.apply(copyAry); ary.push(5); console.log(ary); //[1, 2, 3, 4, 5] console.log(copyAry); //[1, 2, 3, 4] const ary2 = JSON.parse(JSON.stringify(copyAry)); ary2.push(5); console.log(ary2); //[1, 2, 3, 4, 5] console.log(copyAry); //[1, 2, 3, 4]4.數組等份分割
const ary = [1, 2, 3, 4, 5, 6, 7]; const splitAry = (ary, size) => { let i = Math.ceil(ary.length / size), count = 0, box = []; while (count < i) { let s = count * size; box.push(ary.slice(s, s + size)); count++; } return box; }; console.log(splitAry(ary, 3)); //[[1,2,3],[4,5,6],[7]] console.log(splitAry(ary,2)); // [[1,2],[3,4],[5,6],[7]]5.數組扁平化
//二維數組扁平化 const ary = [[1, 2], [3, 4], [5, 6]]; const flatten = ary => ary.reduce((a, b) => [...a, ...b]); console.log(flatten(ary)); //[1, 2, 3, 4, 5, 6] //多維數組扁平化 const ary2 = [[1, [2, 3]], [4, [5, [6, 7]]]]; const flattenS = ary => ary.reduce((a, b) => a.concat(Array.isArray(b) ? flattenS(b) : b), []); console.log(flattenS(ary2)); //[1, 2, 3, 4, 5, 6, 7]
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/92669.html
摘要:最近兼職的項目里面因為要用進行數據的交互式可視化,用比較多,也踩了不少坑。內部用這個進行之類的時,先深拷貝然后再擴展,比較方便。可以看出直接給原型進行擴展,寫起來非常簡潔。 最近兼職的項目里面因為要用charts進行數據的交互式可視化,用Chart.js比較多,也踩了不少坑。為了改bug提pr外加學習一下提高姿勢水平花了一點時間看了下源碼,發現一些比較有用簡介的helper funct...
摘要:消息隊列技術介紹后端掘金一消息隊列概述消息隊列中間件是分布式系統中重要的組件,主要解決應用耦合異步消息流量削鋒等問題。的內存優化后端掘金聲明本文內容來自開發與運維一書第八章,如轉載請聲明。 消息隊列技術介紹 - 后端 - 掘金一、 消息隊列概述 消息隊列中間件是分布式系統中重要的組件,主要解決應用耦合、異步消息、流量削鋒等問題。實現高性能、高可用、可伸縮和最終一致性架構。是大型分布式系...
摘要:的返回值將作為的參數,如果返回,則不更新,不能返回或以外的值,否則會警告。在更新之前調用,此時已更新返回值作為的第個參數一般用于獲取之前的數據語法是從的返回值,默認是的使用場景一般是獲取組建更新之前的滾動條位置。 React16 后的各功能點是多個版本陸陸續續迭代增加的,本篇文章的講解是建立在 16.6.0 版本上本篇文章主旨在介紹 React16 之后版本中新增或修改的地方,所以對于...
摘要:文和,創意實驗室創意技術專家在機器學習和計算機視覺領域,姿勢預測或根據圖像數據探測人體及其姿勢的能力,堪稱最令人興奮而又最棘手的一個話題。使用,用戶可以直接在瀏覽器中運行機器學習模型,無需服務器。 文 / ?Jane Friedhoff 和 Irene Alvarado,Google 創意實驗室創意技術專家在機器學習和計算機視覺領域,姿勢預測或根據圖像數據探測人體及其姿勢的能力,堪稱最令人興...
閱讀 2124·2019-08-29 16:53
閱讀 2699·2019-08-29 16:07
閱讀 2042·2019-08-29 13:13
閱讀 3267·2019-08-26 13:57
閱讀 1331·2019-08-26 13:31
閱讀 2433·2019-08-26 13:22
閱讀 1221·2019-08-26 11:43
閱讀 2084·2019-08-23 17:14