1.刪除兩個數(shù)組重復(fù)的值(不保留重復(fù)的)
function removeObjById(arr1, arr2){
for(var i = 0; i < arr2.length; i++){
for(var j = 0; j< arr1.length; j++){
if(arr2[i] == arr1[j]){
var indexs = arr1.indexOf(arr1[j]);
arr1.splice(indexs, 1);
}
}
}
return arr1;
}
2.篩選出兩個數(shù)組重復(fù)部分
function selectObjById(arr1, arr2){
var newArray = [];
var j = 0;
for (var i = 0; i < arr1.length; i++) {
for (var k = 0; k < arr2.length; k++) {
if (arr1[i] == arr2[k]) {
newArray[j] = arr1[i];
++j;
}
}
}
return newArray;
}
3.篩選已經(jīng)選擇過的active項 (需求是選擇一些當(dāng)前為active的項放到一個新的數(shù)組,新的數(shù)組中不能有這些active的重復(fù)項)
var objArrayLibs = [];//當(dāng)前已經(jīng)選擇過的所有的active,定義一個全局變量
function ensureTrack(){
var libIdx = [];
var confirmData = [];
if(cardInfo.length <= 0){
alertModal(1,"請選擇圖片進行軌跡確認!")
return;
}
for(var i = 0; i < cardInfo.length; i++){
if($(cardInfo[i]).hasClass("active")){
var objID = $(cardInfo[i]).attr("id");
if(objArrayLibs.indexOf(objID) == -1){
//如果objArrayLibs中不存在,push進來
confirmData.push(objID);
//當(dāng)前的active中,如果objArrayLibs中不存在,push進來
objArrayLibs.push(objID);
}
}
}
console.log(objArrayLibs,confirmData)
}
4.移除元素-倒著遍歷數(shù)組,繞過改變下標(biāo)問題
function deleteOneInfo(id)
{
for(var k = allInfo.length - 1; k >= 0; k--)
{
var oneInfo = allInfo[k];
if(id == oneInfo.id)
{
allInfo.splice(k,1);
break;
}
}
}