数组的排序及去重

数组的排序及去重

数组去重

方法一:
双层循环,外层循环元素,内层循环时比较值
值相同时,则删去这个值
注意点 : 删除元素之后,需要将数组的长度也减1.

	function abandon(random){
		for(var i = 0;i<random.length;i++){
			for (var j = i+1;j<random.length;j++) {
				if (random[i]==random[j]) {
				 //如果第一个等于第二个,splice方法删除第二个
					random.splice(j,1);
					--j;
				}
			}
		}
		return random;
	}
	var a=[1,4,6,2,6,8,9,3,9,1,4,6,7,8,0,2];
	var random_new=abandon(a);
	console.log(random_new);

方法二:

  1. 创建一个新的数组存放结果
  2. 创建一个空数组
  3. for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到新数组中
    说明:至于如何对比,就是每次从原数组中取出一个元素,然后到对象中去访问这个属性,如果能访问到值,则说明重复。
	function newArr(array){ 
    	//一个新的数组 
    	var arrs = []; 
    	//遍历当前数组 
    	for(var i = 0; i < array.length; i++){ 
        //如果临时数组里没有当前数组的当前值,则把当前值push到新数组里面 
        	if (arrs.indexOf(array[i]) == -1){ 
           		arrs.push(array[i])
        	}; 
    	} 
    	return arrs; 
	}
	var arr = [1,1,2,5,5,6,8,9,8];
	console.log(newArr(arr))

数组排序

交换两个变量的值
需要第三个变量来帮忙

	var one = 20;
	var two = 40;
	var three = two;
	two = one;
	one = three;
	console.log(one,two);
	function compare(arr){
		for (var i=0;i<arr.length-1;i++) {
			for (var j=i+1;j<arr.length;j++) {
				if (arr[i]<arr[j]) {
					var mp=arr[i];
					arr[i]=arr[j];
					arr[j]=mp;
				}
			}
		}
		return arr;
	}
	var a=[1,5,7,3,9,0,4,7,9,3,5,2];
	console.log(compare(a));
发布了29 篇原创文章 · 获赞 0 · 访问量 779

猜你喜欢

转载自blog.csdn.net/qinshensx/article/details/104104624
今日推荐