//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) {
思路:
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];
给定 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));