1. 程式人生 > >陣列新增刪除,去重,排序,找到相同元素

陣列新增刪除,去重,排序,找到相同元素

小白前端一個,公司專案,裡面有一個數組增加,刪除,去重,排序,找到相同元素個數等等...

開始用push,splice等方法都無法達到自己效果,後來自己總結了,現在貼出來。

裡面有一些是RN程式碼,但是還是可以看懂的:

this.setState({ obj: res });
let scanres=this.state.obj.SCAN;
this.state.CodeList.push(scanres);

// push方法順利的完成了新增任務
let countsset=new Set(this.state.CodeList);

//es6 語法順利的將陣列去重,但是現在返回的是一個集合了


let countarray=Array.from(countsset);

//這是將集合轉化為陣列,一個轉化後的新陣列
let arr=this.state.CodeList.slice(0,-1);

//這裡就是刪除了,很多人都利用splice還有delet以及其他的方法,但是我試了試,效果不對。

function sortId(a,b){  
        return a.id-b.id  
      }
      arr.sort(sortId);

//這個方法就是排序了,從小到大,對一個叫做arr的陣列排序

for (let i = 0; i < arr.length;) {
        let count = 0;
        for (let j = i; j < arr.length; j++) {
          if (arr[i].id === arr[j].id) {
            count++;
          }
        }
        newarr.push({
          date: arr[i],
          count: count
        })
        i+=count;
      }
      console.log(newarr);

//這裡就是返回一個newarr的陣列,裡面有排序好的陣列,還有相同元素的個數

以上就是一個簡單的陣列應用,打完收工