陣列新增刪除,去重,排序,找到相同元素
小白前端一個,公司專案,裡面有一個數組增加,刪除,去重,排序,找到相同元素個數等等...
開始用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的陣列,裡面有排序好的陣列,還有相同元素的個數
以上就是一個簡單的陣列應用,打完收工