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


 
 


博主的 Github 地址


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;
}
  • 运行效果
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值