1.删除两个数组重复的值(不保留重复的)
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.筛选出两个数组重复部分
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.筛选已经选择过的active项 (需求是选择一些当前为active的项放到一个新的数组,新的数组中不能有这些active的重复项)
var objArrayLibs = [];//当前已经选择过的所有的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);
//当前的active中,如果objArrayLibs中不存在,push进来
objArrayLibs.push(objID);
}
}
}
console.log(objArrayLibs,confirmData)
}
4.移除元素-倒着遍历数组,绕过改变下标问题
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;
}
}
}