JS 自定义数组方法

(function(){
	//判断数组是否有重复项(如果数字字符串类似相同,返回的还是真,有点不靠谱)
	/*Array.prototype.isItemRepeat = function(){
		return /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test("\x0f"+ this.join("\x0f\x0f") + "\x0f");
	}*/
	//方法一:
	Array.prototype.isItemRepeat = function(){
		var nary = this.sort();
		for(var i=0;i<this.length;i++){
			if (nary[i]==nary[i+1]){
				return true;
			}
		}
		return false;
	}
	//方法二:
	Array.prototype.isItemRepeat2 = function(){
		var hash = {};
		for(var i in this) {
			if(hash[this[i]]) {
				return true;
			}
			hash[this[i]] = true;
		}
		return false;
	}
	
	/*对象数组转换为单个字符串数组
	如将:var arr = [{"a":1,"b":2,"c":3},{"a":11,"b":12,"c":13}] 数组,
	转换成只有"a"的所有值的数组 [1, 11] 。
	*/
	Array.prototype.toUniquePropertyArray = function(properyName){
		var arr = [];
		JSON.parse(JSON.stringify(this, [properyName])).reduce(function(html, current){
			arr.push(current[properyName])
		},null);
		return arr;
	}
	
}());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值