jquery判断数组是否重复,以及数组如何去重的方法,删除数组的固定的某些元素的方法...

//1.判断数组是否重复
var
studentArray =[{studentId:"123",status:"new"},{studentId:"456",status:"new"},{studentId:"789",status:"old"},{studentId:"145",status:"old"},{studentId:"124",status:"new"}];
var studentObj = {};

$.each(studentArray, function (i, item) {
  if (studentObj[item.studentId + '-' + item.status]) {
    console.log("重复!");
  }
  studentObj[item.studentId + '-' + item.status] = 1;
 })
 
 //2.数组去重的方法

思路:

1.创建一个新的数组存放结果

2.创建一个空对象

3.for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为1,存入到第2步建立的对象中。

说明:至于如何对比,就是每次从原数组中取出一个元素,然后到对象中去访问这个属性,如果能访问到值,则说明重复。

var reapel = function(arr){
var res = [];
var json = {};
for(var i = 0; i < arr.length; i++){
  if(!json[arr[i]]){

  //把不重复的元放到新的数组里
  res.push(arr[i]);
  }
  json[arr[i]] = 1;
}
return res;
}
var arr = [112,112,34,'你好',112,112,34,'你好','str','str1'];
console.log(reapel(arr));

//3.删除数组中的某些元素

删除student数组中deleArray数组中的存在的元素

var deleArray = [12,34,45,41,37];

var student = [12,34,,56,45,32,41,37];

for (var i=0;i<deleArray.length;i++){
  for(var j=0;j<student.length;j++){
    if( student[j] == deleArray[i]){
      student.splice(j,1);
      j--;
    }
  }
}
//4.给定一个数组  nums 和一个值  val,你需要 原地移除所有数值等于  val 的元素,返回移除后数组的新长度。
给定 nums = [0,1,2,2,3,0,4,2], val = 2,函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。

var removeElement = function(nums, val) {

  //如果数组中存在指定的值就删除
  while(!(nums.indexOf(val) == -1)){
    nums.splice(nums.indexOf(val),1)
  }
  return nums;
};

console.log(removeElement([2222,22,22,22,11,23,23,233],22));

 

转载于:https://www.cnblogs.com/susan-home/p/8649389.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值