摘要:每天練習一點點,每天收獲一點點算法題收集網絡,僅供學習參考字符串重復次數字符串重復次數統計字符重復出現的個數過濾對象數組中指定的對象過濾對象數組中指定的對象過濾方法數組遞歸實現過濾指定項數組遞歸實現過濾指定項測試數據過濾方法數組交集補集數組
每天練習一點點,每天收獲一點點!!(算法題收集網絡,僅供學習參考)字符串重復次數
字符串重復次數
var str = "abcdeacdbe"; //統計字符重復出現的個數; function findRepeatNum(str) { return str.split("").reduce((pre,cur) => { if(cur in pre) { pre[cur] += 1; }else{ pre[cur] = 1; } return pre; },{}) } console.log(findRepeatNum(str)) //{a: 2, b: 2, c: 2, d: 2, e: 2}過濾對象數組中指定的對象
過濾對象數組中指定的對象
var arr1 = [1,2]; var arr2 = [{id:1,name:"s"},{id:2,name:"ds"},{id:3,name:"gg"}] //過濾方法 arr3 = arr2.filter((item) => !arr1.includes(item.id)); //[{id:3,name:"gg"}]數組遞歸實現過濾指定項
數組遞歸實現過濾指定項
//測試數據 var data = [{ isextend:1, vaL:0, children:[{ isextend:1, vaL:1, children:[{ isextend:0, vaL:4 },{ isextend:1, vaL:5 }] },{ isextend:1, vaL:2, children:[] },{ isextend:1, vaL:3, children:[] }] }] //過濾方法 function deleteNode(arr, key,targetValue) { return arr.filter(function(item, i) { if (item.children) { item.children = deleteNode(item.children, key,targetValue) } return item[key] !== targetValue; }) } console.log(deleteNode(data, "isextend",0))數組交集補集
數組交集補集
//測試數據(過濾isextend為0的項) const a = [1, 2, 3, 4]; const b = [2, 3, 5, 6]; //過濾方法 function filterArr(arr1,arr2,type) { let diffArr = []; let sameArr = []; sameArr = arr1.filter(v => { return arr2.some(a => { return v == a }) }) let mergeArr = [...arr1,...arr2]; diffArr = mergeArr.filter(v => { return !sameArr.includes(v) }) if (type == "same") { return sameArr } else { return diffArr } } console.log(filterArr(a,b,"same")) // [2,3] console.log(filterArr(a,b,"diff")) // [1,4,5,6]獲取當前日期前n天的日期
獲取當前日期前n天的日期
function getIntervalDate(days) { let arrDateKeys = [...Array(days).keys()]; let result = arrDateKeys.map(v => { let TimeStampOneDay = 24*60*60*1000; let d = new Date(Date.now() - TimeStampOneDay*v); let str = `${d.getFullYear()}年${d.getMonth() + 1}月${d.getDate()}日`; return str }) return result; } console.log(getIntervalDate(3)) // ["2019年6月3日", "2019年6月2日", "2019年6月1日"]數組最大差值
計算數組中的最大差值
var arr = [1,3,5,7,9,0,11,14,8,6]; //在一個整數數組中,一個數字減去它左邊的數字得到一個差值,求最大差值的數字 function findMaxDiffValue(arr) { var minValue = arr[0]; var MaxDiffValue = 0; arr.forEach((v,index) => { if(minValue > v) minValue = v; var diff = v-minValue; if(diff > MaxDiffValue) MaxDiffValue = diff; }) return MaxDiffValue } console.log(findMaxDiffValue(arr)) //14數組重復對象
對數組中重復對象進行操作
//數據樣例 var arr = [ { time: "20190807", cabin: "w", dcp: 37 }, { time: "20190806", cabin: "w", dcp: 37 }, { time: "20190805", cabin: "a", dcp: 37 }, { time: "20190806", cabin: "w", dcp: 37 }, { time: "20190807", cabin: "w", dcp: 37 }, { time: "20190804", cabin: "w", dcp: 37 }, { time: "20190803", cabin: "w", dcp: 37 }, { time: "20190805", cabin: "w", dcp: 37 }, { time: "20190802", cabin: "w", dcp: 37 }, { time: "20190806", cabin: "j", dcp: 37 }, ] //如果time,cabin相同,那么dcp字段的數值就相加,并且把cabin字段的value取出來變為一個新的字段加入當前對象,值為累加次數; function filterArr(arr) { return arr.reduce((pre,cur,index) => { let {time,cabin,dcp} = cur; let isHas = pre.findIndex(v => v.time == time && v.cabin == cabin); if(isHas > -1){ let cur = pre[isHas]; cur["dcp"] += cur["dcp"]; cur[cabin]++; }else{ let clone = {...cur,[cabin]:1}; pre.push(clone) } return pre; },[]) }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/109926.html
摘要:例如現在的入門學習手記系列。收到粉絲留言和打賞的喜悅。安裝上一篇入門學習手記一,主要是介紹了的核心概念,是整個學習過程的基礎知識。新生成的類似如下入門學習手記因為生成的內容過多,我直接省略掉了。 showImg(https://segmentfault.com/img/bVbk5Nd?w=1150&h=599); 本人微信公眾號:前端修煉之路,歡迎關注。 最近開始想要維護一個個人的公眾...
摘要:每一個方格就是數組的一個個體。收工完成效果因為我實在是不想找那么多圖片,大概只拷貝了十份,然后乘以,所以會出現一個頭像重復三次的情況源碼。 我看到了什么 在看淘寶前端團隊的博客的時候,無意中點進了關于我們這個頁面,其中有個動畫我覺得很有趣,也很通用,感覺在哪里都可以使用一樣,效果如下圖所示:showImg(https://segmentfault.com/img/bVWwzI?w=32...
摘要:每一個方格就是數組的一個個體。收工完成效果因為我實在是不想找那么多圖片,大概只拷貝了十份,然后乘以,所以會出現一個頭像重復三次的情況源碼。 我看到了什么 在看淘寶前端團隊的博客的時候,無意中點進了關于我們這個頁面,其中有個動畫我覺得很有趣,也很通用,感覺在哪里都可以使用一樣,效果如下圖所示:showImg(https://segmentfault.com/img/bVWwzI?w=32...
摘要:舉個例子可以看到你就算賦予了和前端頁面渲染也是不正常的無論賦成什么結果都是但是我還需要對他進行一些操作需要綁定他的事件所以我得解決辦法就是在標簽外套了一層綁定了屬性,同時將事件綁定在這層上。 問題概要: 當我運用antd 中 radio組件的時候發現radio組件是有bug的 就是你不能給他賦予id 和 value,同時也綁定不上onclick等事件。舉個例子: showImg(htt...
閱讀 2079·2019-08-30 15:53
閱讀 3074·2019-08-30 15:44
閱讀 2924·2019-08-30 14:11
閱讀 2920·2019-08-30 14:01
閱讀 2708·2019-08-29 15:16
閱讀 3756·2019-08-29 13:10
閱讀 1252·2019-08-29 10:56
閱讀 2535·2019-08-26 13:58