About Array operation

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;
        }
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容