摘要:最近寫游戲,需要做一個列表的道具領取功能,當你的等級到達一定的程度,就能領取道具,當?shù)谰哳I取后,需要把已領取的項,放到最后面。
最近寫游戲,需要做一個列表的道具領取功能,當你的等級到達一定的程度,就能領取道具,當?shù)谰哳I取后,需要把已領取的項,放到最后面。
類似于:(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} ];
我們需要的結(jié)果為: 3,4,8,9,10,1,2,5,6,7 。這是我們需要的排序后結(jié)果。
但是,一開始我想的不是sort方法排序,我的想法是,只要把value = 1的項放到數(shù)組的最后面,不就好了嗎?
所以,我就寫了下面代碼:
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的使用(二)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/103525.html
摘要:也可以直接調(diào)用內(nèi)置方法常用高階函數(shù)方法的作用是接收一個函數(shù)作為參數(shù),對數(shù)組中每個元素按順序調(diào)用一次傳入的函數(shù)并返回結(jié)果,不改變原數(shù)組,返回一個新數(shù)組。 Ps. 晚上加班到快十點,回來趕緊整理整理這篇文章,今天老大給我推薦了一篇文章,我從寫技術博客中收獲到了什么?- J_Knight_,感受也是很多,自己也需要慢慢養(yǎng)成記錄博客的習慣,即使起步艱難,難以堅持,但還是要讓自己加油加油。 前...
摘要:歡迎您的支持系列目錄復習資料資料整理個人整理重溫基礎篇重溫基礎對象介紹重溫基礎對象介紹重溫基礎介紹重溫基礎相等性判斷重溫基礎閉包重溫基礎事件本章節(jié)復習的是中的高階函數(shù),可以提高我們的開發(fā)效率。 本文是 重溫基礎 系列文章的第二十一篇。 今日感受:想家。 本人自己整理的【Cute-JavaScript】資料,包含:【ES6/ES7/ES8/ES9】,【JavaScript基礎...
摘要:返回表示保留該元素通過測試,則不保留。否則,的值在非嚴格模式下將是全局對象,嚴格模式下為。索引數(shù)組中正在處理的當前元素的索引。當執(zhí)行回調(diào)函數(shù)時用作的值參考對象。是數(shù)組組所以要帶,用轉(zhuǎn)換為數(shù)值類型。 代碼塊: var aqiData = [ [北京, 90], [上海, 50], [福州, 10], [廣州, 50], [成都, 90], ...
摘要:最近在學習的表格排序,沒想到看不起眼的表格排序?qū)嶋H上卻暗含了眾多知識點。二實現(xiàn)表格排序使用獲取數(shù)據(jù)之所以使用動態(tài)獲取數(shù)據(jù),是為了使用文檔碎片綁定數(shù)據(jù)。 最近在學習js的表格排序,沒想到看不起眼的表格排序?qū)嶋H上卻暗含了眾多JS知識點。在這里記錄一下此次學習過程。希望對大家也有所幫助。 完整的表格排序涉及了下列這些知識點: call方法使用 sort方法深入 數(shù)據(jù)綁定 DOM映射 下面...
摘要:最近在學習的表格排序,沒想到看不起眼的表格排序?qū)嶋H上卻暗含了眾多知識點。二實現(xiàn)表格排序使用獲取數(shù)據(jù)之所以使用動態(tài)獲取數(shù)據(jù),是為了使用文檔碎片綁定數(shù)據(jù)。 最近在學習js的表格排序,沒想到看不起眼的表格排序?qū)嶋H上卻暗含了眾多JS知識點。在這里記錄一下此次學習過程。希望對大家也有所幫助。 完整的表格排序涉及了下列這些知識點: call方法使用 sort方法深入 數(shù)據(jù)綁定 DOM映射 下面...
閱讀 3859·2023-04-26 00:36
閱讀 2667·2021-11-16 11:44
閱讀 1082·2021-11-15 17:58
閱讀 1665·2021-09-30 09:47
閱讀 1208·2019-08-30 13:05
閱讀 1539·2019-08-30 12:55
閱讀 2409·2019-08-30 11:02
閱讀 2718·2019-08-29 17:01