数组循环去掉不同的元素,求指教?

vara1=[{path:'home'},{path:'index'}]
vara2=[{path:'home'},{path:'index'},{path:'delpage'}]
两个数组循环,删除不同的对象元素期望a2=[{path:'home'},{path:'index'}]
浮云间
浏览 312回答 2
2回答

幕布斯6054654

vara1=[{path:'home'},{path:'index'}]vara2=[{path:'home'},{path:'index'},{path:'delpage'}]//对比数组functionfun(arr1,arr2){for(leti=0;i

慕雪6442864

@tenggouwa的解法虽然可行,但是效率不高,为n^2,我对javascript不熟,这里只提供思路,可以先对两个数组分别进行排序,排序算法有很多比n^2效率高的,排序完之后对两个数组遍历一遍即可(复杂度为n),所以两个加起来的复杂度是小于n^2的,尤其是n很大的时候。遍历的策略大致是两个指针分别指向排完序的数组的起始位置,然后比较,如果相等,则结果添加此元素,如果不等,则移动其中排序靠前的指针(也就是解引用后值较小的,如果按照从小到大排序的话),如此遍历即可。代码你可以自己实现,应该不复杂。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript