JS笔记 ( 十七 ) 类数组与数组去重


 
 

1. 类数组的组成

  1. 类数组实际上是对象
  2. 属性要为索引属性, 即属性名为数字
  3. 必须要有 length 属性
  4. 最好加上 push() 方法, 当加上 splice() 方法时则与数组无太大差异
  • 例如
var obj = {
    0 : 'a',
    1 : 'b',
    2 : 'c',
    length: 3,
    push: Array.prototype.push,
    splice: Array.prototype.slice
}
  • 类数组与数组类似, 在下面操作中进行 push 增加新成员后, length 属性自动变为 4
    在这里插入图片描述

系统中数组自带的 push 方法的定义

Array.prototype.push = function(array, newattr){
    array[array.length] = newattr;
    length++;
}

 
 
 

2. 数组的去重

(1) 利用的特性

  • 由于对象的属性具有唯一性, 因此将数组的每个成员转化为对象的属性名
    最后遍历对象并返回新数组即可

(2) 函数示例

  • 步骤
    (1) 首先, 方法体内建立一个临时的对象, 用以在后面做类数组
    (2) 然后, 再在方法体内建立一个临时数组, 作为返回值返回去重后的新数组
    (3) 接着, 开始遍历数组, 将数组值作为属性名给类数组新增属性, 至于属性值可随意给
    (4) 最后, 用临时数组逐一接收类数组的属性名即可
function remove(array){
	var tempObj = {};
	var tempArray = [];
	for(var i = 0; i<array.length; i++){
		tempObj[array[i]] = 'temp';
	}
	for(var prop in tempObj){
		tempArray.push(prop);
	}
	
	return tempArray;
}
  • 运行效果
    在这里插入图片描述
发布了45 篇原创文章 · 获赞 0 · 访问量 1114

猜你喜欢

转载自blog.csdn.net/leon9dragon/article/details/104029697
今日推荐