小白前端一个,公司项目,里面有一个数组增加,删除,去重,排序,找到相同元素个数等等...
开始用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的数组,里面有排序好的数组,还有相同元素的个数
以上就是一个简单的数组应用,打完收工