javascript數(shù)組的擴展實現(xiàn)代碼集合
更新時間:2008年06月01日 20:21:15 作者:
非常不錯的javascript數(shù)據(jù)功能增強函數(shù)
Array.prototype.del = function(n)
{
if (n<0) return this;
return this.slice(0,n).concat(this.slice(n+1,this.length));
}
// 數(shù)組洗牌
Array.prototype.random = function()
{
var nr=[], me=this, t;
while(me.length>0)
{
nr[nr.length] = me[t = Math.floor(Math.random() * me.length)];
me = me.del(t);
}
return nr;
}
// 數(shù)字數(shù)組排序
Array.prototype.sortNum = function(f)
{
if (!f) f=0;
if (f==1) return this.sort(function(a,b){return b-a;});
return this.sort(function(a,b){return a-b;});
}
// 獲得數(shù)字數(shù)組的最大項
Array.prototype.getMax = function()
{
return this.sortNum(1)[0];
}
// 獲得數(shù)字數(shù)組的最小項
Array.prototype.getMin = function()
{
return this.sortNum(0)[0];
}
// 數(shù)組第一次出現(xiàn)指定元素值的位置
Array.prototype.indexOf = function(o)
{
for (var i=0; i<this.length; i++) if (this[i]==o) return i;
return -1;
}
// 移除數(shù)組中重復(fù)的項
Array.prototype.removeRepeat=function()
{
this.sort();
var rs = [];
var cr = false;
for (var i=0; i<this.length; i++)
{
if (!cr) cr = this[i];
else if (cr==this[i]) rs[rs.length] = i;
else cr = this[i];
}
var re = this;
for (var i=rs.length-1; i>=0; i--) re = re.del(rs[i]);
return re;
}
例子:
var arr=["ni","wo","ta"];
刪除數(shù)組中的“wo”
var newArr=arr.del(1);
返回數(shù)組中“me”第一次出現(xiàn)的位置,若沒有就返回-1
var strPos=arr.indexOf("me");
{
if (n<0) return this;
return this.slice(0,n).concat(this.slice(n+1,this.length));
}
// 數(shù)組洗牌
Array.prototype.random = function()
{
var nr=[], me=this, t;
while(me.length>0)
{
nr[nr.length] = me[t = Math.floor(Math.random() * me.length)];
me = me.del(t);
}
return nr;
}
// 數(shù)字數(shù)組排序
Array.prototype.sortNum = function(f)
{
if (!f) f=0;
if (f==1) return this.sort(function(a,b){return b-a;});
return this.sort(function(a,b){return a-b;});
}
// 獲得數(shù)字數(shù)組的最大項
Array.prototype.getMax = function()
{
return this.sortNum(1)[0];
}
// 獲得數(shù)字數(shù)組的最小項
Array.prototype.getMin = function()
{
return this.sortNum(0)[0];
}
// 數(shù)組第一次出現(xiàn)指定元素值的位置
Array.prototype.indexOf = function(o)
{
for (var i=0; i<this.length; i++) if (this[i]==o) return i;
return -1;
}
// 移除數(shù)組中重復(fù)的項
Array.prototype.removeRepeat=function()
{
this.sort();
var rs = [];
var cr = false;
for (var i=0; i<this.length; i++)
{
if (!cr) cr = this[i];
else if (cr==this[i]) rs[rs.length] = i;
else cr = this[i];
}
var re = this;
for (var i=rs.length-1; i>=0; i--) re = re.del(rs[i]);
return re;
}
例子:
var arr=["ni","wo","ta"];
刪除數(shù)組中的“wo”
var newArr=arr.del(1);
返回數(shù)組中“me”第一次出現(xiàn)的位置,若沒有就返回-1
var strPos=arr.indexOf("me");
您可能感興趣的文章:
- JavaScript常用字符串與數(shù)組擴展函數(shù)小結(jié)
- javascript Array數(shù)組對象的擴展函數(shù)代碼
- js實現(xiàn)prototype擴展的方法(字符串,日期,數(shù)組擴展)
- javascript框架設(shè)計讀書筆記之?dāng)?shù)組的擴展與修復(fù)
- js數(shù)組方法擴展實現(xiàn)數(shù)組統(tǒng)計函數(shù)
- 編寫js擴展方法判斷一個數(shù)組中是否包含某個元素
- 擴展js對象數(shù)組的OrderByAsc和OrderByDesc方法實現(xiàn)思路
- JS的數(shù)組的擴展實例代碼
- 求js數(shù)組的最大值和最小值的四種方法
- 分享JS數(shù)組求和與求最大值的方法
- JavaScript學(xué)習(xí)筆記之?dāng)?shù)組求和方法
- JS實現(xiàn)求數(shù)組起始項到終止項之和的方法【基于數(shù)組擴展函數(shù)】
相關(guān)文章
js中eval()函數(shù)和trim()去掉字符串左右空格應(yīng)用
對于js中eval()函數(shù)的理解和寫一個函數(shù)trim()去掉字符串左右空格;對于js中eval()函數(shù)的理解是本人心得不一定正確,感興趣的朋友參考下,或許對你學(xué)習(xí)eval()函數(shù)有所幫助2013-02-02
跟我學(xué)習(xí)javascript的基本類型和引用類型
跟我學(xué)習(xí)javascript的基本類型和引用類型,利用圖解的方式,告訴大家javascript的基本類型和引用類型的區(qū)別和聯(lián)系,感興趣的小伙伴們可以參考一下2015-11-11
bootstrap paginator分頁插件的兩種使用方式實例詳解
Bootstrap Paginator是一款基于Bootstrap的js分頁插件,下面通過本文給大家介紹bootstrap paginator分頁插件的兩種使用方式,一起看看吧2017-11-11
JavaScript實現(xiàn)圖片本地預(yù)覽功能【不用上傳至服務(wù)器】
這篇文章主要介紹了JavaScript實現(xiàn)圖片本地預(yù)覽功能,針對非IE瀏覽器的HTML5濾鏡功能及IE瀏覽器的相關(guān)組件功能實現(xiàn)不上傳至服務(wù)器預(yù)覽本地圖片的效果,需要的朋友可以參考下2017-09-09

