成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

js中sort的使用(一)

legendmohe / 2926人閱讀

摘要:最近寫游戲,需要做一個(gè)列表的道具領(lǐng)取功能,當(dāng)你的等級(jí)到達(dá)一定的程度,就能領(lǐng)取道具,當(dāng)?shù)谰哳I(lǐng)取后,需要把已領(lǐng)取的項(xiàng),放到最后面。

最近寫游戲,需要做一個(gè)列表的道具領(lǐng)取功能,當(dāng)你的等級(jí)到達(dá)一定的程度,就能領(lǐng)取道具,當(dāng)?shù)谰哳I(lǐng)取后,需要把已領(lǐng)取的項(xiàng),放到最后面。
類似于:(value =1說明已領(lǐng)取)

    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的項(xiàng)放到數(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排序。
首先我們先看看簡(jiǎn)單點(diǎn)的排序:

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進(jìn)行一個(gè)升序的排序,
如果 a 大于 b,排序后 a 在 b 后面,此時(shí) return 1;
如果 a 小于 b,排序后 a 在 b 前面,此時(shí) 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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/103525.html

相關(guān)文章

  • 【重溫基礎(chǔ)】JS常用高階函數(shù)介紹

    摘要:也可以直接調(diào)用內(nèi)置方法常用高階函數(shù)方法的作用是接收一個(gè)函數(shù)作為參數(shù),對(duì)數(shù)組中每個(gè)元素按順序調(diào)用一次傳入的函數(shù)并返回結(jié)果,不改變?cè)瓟?shù)組,返回一個(gè)新數(shù)組。 Ps. 晚上加班到快十點(diǎn),回來趕緊整理整理這篇文章,今天老大給我推薦了一篇文章,我從寫技術(shù)博客中收獲到了什么?- J_Knight_,感受也是很多,自己也需要慢慢養(yǎng)成記錄博客的習(xí)慣,即使起步艱難,難以堅(jiān)持,但還是要讓自己加油加油。 前...

    gitmilk 評(píng)論0 收藏0
  • 【重溫基礎(chǔ)】21.高階函數(shù)

    摘要:歡迎您的支持系列目錄復(fù)習(xí)資料資料整理個(gè)人整理重溫基礎(chǔ)篇重溫基礎(chǔ)對(duì)象介紹重溫基礎(chǔ)對(duì)象介紹重溫基礎(chǔ)介紹重溫基礎(chǔ)相等性判斷重溫基礎(chǔ)閉包重溫基礎(chǔ)事件本章節(jié)復(fù)習(xí)的是中的高階函數(shù),可以提高我們的開發(fā)效率。 本文是 重溫基礎(chǔ) 系列文章的第二十一篇。 今日感受:想家。 本人自己整理的【Cute-JavaScript】資料,包含:【ES6/ES7/ES8/ES9】,【JavaScript基礎(chǔ)...

    wua_wua2012 評(píng)論0 收藏0
  • IFE JS練習(xí)(二|三) 數(shù)組sort,forEach,slice和filter方法

    摘要:返回表示保留該元素通過測(cè)試,則不保留。否則,的值在非嚴(yán)格模式下將是全局對(duì)象,嚴(yán)格模式下為。索引數(shù)組中正在處理的當(dāng)前元素的索引。當(dāng)執(zhí)行回調(diào)函數(shù)時(shí)用作的值參考對(duì)象。是數(shù)組組所以要帶,用轉(zhuǎn)換為數(shù)值類型。 代碼塊: var aqiData = [ [北京, 90], [上海, 50], [福州, 10], [廣州, 50], [成都, 90], ...

    Aomine 評(píng)論0 收藏0
  • 案例學(xué)習(xí)總結(jié):原生JS實(shí)現(xiàn)表格排序

    摘要:最近在學(xué)習(xí)的表格排序,沒想到看不起眼的表格排序?qū)嶋H上卻暗含了眾多知識(shí)點(diǎn)。二實(shí)現(xiàn)表格排序使用獲取數(shù)據(jù)之所以使用動(dòng)態(tài)獲取數(shù)據(jù),是為了使用文檔碎片綁定數(shù)據(jù)。 最近在學(xué)習(xí)js的表格排序,沒想到看不起眼的表格排序?qū)嶋H上卻暗含了眾多JS知識(shí)點(diǎn)。在這里記錄一下此次學(xué)習(xí)過程。希望對(duì)大家也有所幫助。 完整的表格排序涉及了下列這些知識(shí)點(diǎn): call方法使用 sort方法深入 數(shù)據(jù)綁定 DOM映射 下面...

    ShevaKuilin 評(píng)論0 收藏0
  • 案例學(xué)習(xí)總結(jié):原生JS實(shí)現(xiàn)表格排序

    摘要:最近在學(xué)習(xí)的表格排序,沒想到看不起眼的表格排序?qū)嶋H上卻暗含了眾多知識(shí)點(diǎn)。二實(shí)現(xiàn)表格排序使用獲取數(shù)據(jù)之所以使用動(dòng)態(tài)獲取數(shù)據(jù),是為了使用文檔碎片綁定數(shù)據(jù)。 最近在學(xué)習(xí)js的表格排序,沒想到看不起眼的表格排序?qū)嶋H上卻暗含了眾多JS知識(shí)點(diǎn)。在這里記錄一下此次學(xué)習(xí)過程。希望對(duì)大家也有所幫助。 完整的表格排序涉及了下列這些知識(shí)點(diǎn): call方法使用 sort方法深入 數(shù)據(jù)綁定 DOM映射 下面...

    lauren_liuling 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

legendmohe

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<