js array 取指定元素索引、判断是否相同、重复、过滤数据

最近写js也多了,Array中有好多方法不够用。自己加了些以后还可能用到。
<script type="text/javascript">          
//找到返回所在索引,不存在返回-1
Array.prototype.index = function (el) {
var i = 0;
for (var i = 0, len = this.length; i < len; i++) {
if (el == this[i]) {
return i;
}
}
return -1;
};

//是否相同,相同返回true,不同返回false
Array.prototype.same = function () {
if (this.length == 0) {
return true;
}
var temp = this.join('').replaceAll(this[0], "");
if (temp != "") {
return false;
} else {
return true
}
};
//replaceAll函数参考:http://blog.csdn.net/IBM_hoojo/archive/2010/06/17/5675096.aspx

//判断是否存在重复数据
Array.prototype.iterate = function () {
var flag = false;
for (var i = 0, len = this.length; i < len; i++) {
for (var j = 0; j < len; j++) {
if (this[i] == this[j] && i != j) {
flag = true;
break;
}
}
}
return flag;
};

//传入一个回调,根据回调函数条件过滤数组
Array.prototype.filter = function(callback) {
var rs = [];
for ( var i = 0, length = this.length; i < length; i++ ) {
if (callback(this[i], i)) {
rs.push(this[i]);
}
}
return rs;
};

window.onload = function () {
var ary = [1, 2, 3, 4, 6, 4, 5];
alert(ary.index(6));
alert(ary.same());
alert(ary.iterate());
var a = ary.filter(function (n, i) {
return n > 4;
});

alert(a.length + "-" + a[0]);
}
</script>


本文来自CSDN博客,转载请标明出处:[url]http://blog.csdn.net/IBM_hoojo/archive/2010/06/17/5675195.aspx[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值