摘要:最近寫游戲,需要做一個列表的道具領取功能,當你的等級到達一定的程度,就能領取道具,當道具領取后,需要把已領取的項,放到最后面。
最近寫游戲,需要做一個列表的道具領取功能,當你的等級到達一定的程度,就能領取道具,當道具領取后,需要把已領取的項,放到最后面。
類似于:(value =1說明已領取)
let arr = [ {id:"1",name:"a",value:1}, {id:"2",name:"b",value:1}, {id:"3",name:"c",value:0}, {id:"4",name:"d",value:0}, {id:"5",name:"e",value:1}, {id:"5",name:"f",value:1}, {id:"7",name:"g",value:1}, {id:"8",name:"h",value:0}, {id:"9",name:"i",value:0}, {id:"10",name:"j",value:0} ];
我們需要的結果為: 3,4,8,9,10,1,2,5,6,7 。這是我們需要的排序后結果。
但是,一開始我想的不是sort方法排序,我的想法是,只要把value = 1的項放到數組的最后面,不就好了嗎?
所以,我就寫了下面代碼:
let num:number = 0; for(let i = 0,l = arr.length; i < l;i++){ if(arr[i].value == 1){ let str = arr.splice(i,1); arr.unshift(str[0]); arr.push(str[0]); num ++; } } arr.splice(0,num);
但是我覺得這樣寫可能不大好,建議大家也不要這樣寫。所以就尋求另一種解決方式,就用到了sort排序。
首先我們先看看簡單點的排序:
let arr1 = [15,10,2,1,9,23,50,80,4,8,32] arr1.sort((a,b)=>{ if(a>b) { return 1 } else if(a這樣能使用我們的arr1進行一個升序的排序,
如果 a 大于 b,排序后 a 在 b 后面,此時 return 1;
如果 a 小于 b,排序后 a 在 b 前面,此時 return -1。
所以我們的arr排序可以這樣寫:arr.sort((a,b)=>{ if(a.value == 1 && b.value != 1) { return 1 } else if(a.value != 1 && b.value == 1) { return -1 } return 0 })此外還有一種情況,下章再說。
js中sort的使用(二)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/103525.html
摘要:也可以直接調用內置方法常用高階函數方法的作用是接收一個函數作為參數,對數組中每個元素按順序調用一次傳入的函數并返回結果,不改變原數組,返回一個新數組。 Ps. 晚上加班到快十點,回來趕緊整理整理這篇文章,今天老大給我推薦了一篇文章,我從寫技術博客中收獲到了什么?- J_Knight_,感受也是很多,自己也需要慢慢養成記錄博客的習慣,即使起步艱難,難以堅持,但還是要讓自己加油加油。 前...
摘要:歡迎您的支持系列目錄復習資料資料整理個人整理重溫基礎篇重溫基礎對象介紹重溫基礎對象介紹重溫基礎介紹重溫基礎相等性判斷重溫基礎閉包重溫基礎事件本章節復習的是中的高階函數,可以提高我們的開發效率。 本文是 重溫基礎 系列文章的第二十一篇。 今日感受:想家。 本人自己整理的【Cute-JavaScript】資料,包含:【ES6/ES7/ES8/ES9】,【JavaScript基礎...
摘要:返回表示保留該元素通過測試,則不保留。否則,的值在非嚴格模式下將是全局對象,嚴格模式下為。索引數組中正在處理的當前元素的索引。當執行回調函數時用作的值參考對象。是數組組所以要帶,用轉換為數值類型。 代碼塊: var aqiData = [ [北京, 90], [上海, 50], [福州, 10], [廣州, 50], [成都, 90], ...
摘要:最近在學習的表格排序,沒想到看不起眼的表格排序實際上卻暗含了眾多知識點。二實現表格排序使用獲取數據之所以使用動態獲取數據,是為了使用文檔碎片綁定數據。 最近在學習js的表格排序,沒想到看不起眼的表格排序實際上卻暗含了眾多JS知識點。在這里記錄一下此次學習過程。希望對大家也有所幫助。 完整的表格排序涉及了下列這些知識點: call方法使用 sort方法深入 數據綁定 DOM映射 下面...
摘要:最近在學習的表格排序,沒想到看不起眼的表格排序實際上卻暗含了眾多知識點。二實現表格排序使用獲取數據之所以使用動態獲取數據,是為了使用文檔碎片綁定數據。 最近在學習js的表格排序,沒想到看不起眼的表格排序實際上卻暗含了眾多JS知識點。在這里記錄一下此次學習過程。希望對大家也有所幫助。 完整的表格排序涉及了下列這些知識點: call方法使用 sort方法深入 數據綁定 DOM映射 下面...
閱讀 3869·2023-04-26 00:36
閱讀 2676·2021-11-16 11:44
閱讀 1102·2021-11-15 17:58
閱讀 1674·2021-09-30 09:47
閱讀 1216·2019-08-30 13:05
閱讀 1550·2019-08-30 12:55
閱讀 2417·2019-08-30 11:02
閱讀 2739·2019-08-29 17:01