javascript數(shù)組的擴(kuò)展實(shí)現(xiàn)代碼集合
更新時(shí)間:2008年06月01日 20:21:15 作者:
非常不錯(cuò)的javascript數(shù)據(jù)功能增強(qiáng)函數(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ù)字?jǐn)?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ù)字?jǐn)?shù)組的最大項(xiàng)
Array.prototype.getMax = function()
{
return this.sortNum(1)[0];
}
// 獲得數(shù)字?jǐn)?shù)組的最小項(xiàng)
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ù)的項(xiàng)
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);
返回?cái)?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ù)字?jǐn)?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ù)字?jǐn)?shù)組的最大項(xiàng)
Array.prototype.getMax = function()
{
return this.sortNum(1)[0];
}
// 獲得數(shù)字?jǐn)?shù)組的最小項(xiàng)
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ù)的項(xiàng)
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);
返回?cái)?shù)組中“me”第一次出現(xiàn)的位置,若沒有就返回-1
var strPos=arr.indexOf("me");
您可能感興趣的文章:
- JavaScript常用字符串與數(shù)組擴(kuò)展函數(shù)小結(jié)
- javascript Array數(shù)組對(duì)象的擴(kuò)展函數(shù)代碼
- js實(shí)現(xiàn)prototype擴(kuò)展的方法(字符串,日期,數(shù)組擴(kuò)展)
- javascript框架設(shè)計(jì)讀書筆記之?dāng)?shù)組的擴(kuò)展與修復(fù)
- js數(shù)組方法擴(kuò)展實(shí)現(xiàn)數(shù)組統(tǒng)計(jì)函數(shù)
- 編寫js擴(kuò)展方法判斷一個(gè)數(shù)組中是否包含某個(gè)元素
- 擴(kuò)展js對(duì)象數(shù)組的OrderByAsc和OrderByDesc方法實(shí)現(xiàn)思路
- JS的數(shù)組的擴(kuò)展實(shí)例代碼
- 求js數(shù)組的最大值和最小值的四種方法
- 分享JS數(shù)組求和與求最大值的方法
- JavaScript學(xué)習(xí)筆記之?dāng)?shù)組求和方法
- JS實(shí)現(xiàn)求數(shù)組起始項(xiàng)到終止項(xiàng)之和的方法【基于數(shù)組擴(kuò)展函數(shù)】
相關(guān)文章
js中eval()函數(shù)和trim()去掉字符串左右空格應(yīng)用
對(duì)于js中eval()函數(shù)的理解和寫一個(gè)函數(shù)trim()去掉字符串左右空格;對(duì)于js中eval()函數(shù)的理解是本人心得不一定正確,感興趣的朋友參考下,或許對(duì)你學(xué)習(xí)eval()函數(shù)有所幫助2013-02-02
js與vue如何實(shí)現(xiàn)自動(dòng)全屏顯示效果
這篇文章主要給大家介紹了關(guān)于js與vue如何實(shí)現(xiàn)自動(dòng)全屏顯示效果的相關(guān)資料,在vue項(xiàng)目中做一個(gè)可以控制頁面全屏展示的效果,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
跟我學(xué)習(xí)javascript的基本類型和引用類型
跟我學(xué)習(xí)javascript的基本類型和引用類型,利用圖解的方式,告訴大家javascript的基本類型和引用類型的區(qū)別和聯(lián)系,感興趣的小伙伴們可以參考一下2015-11-11
利用js正則表達(dá)式驗(yàn)證手機(jī)號(hào),email地址,郵政編碼
利用js正則表達(dá)式驗(yàn)證手機(jī)號(hào),email地址,郵政編碼。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-01-01
bootstrap paginator分頁插件的兩種使用方式實(shí)例詳解
Bootstrap Paginator是一款基于Bootstrap的js分頁插件,下面通過本文給大家介紹bootstrap paginator分頁插件的兩種使用方式,一起看看吧2017-11-11
JavaScript實(shí)現(xiàn)圖片本地預(yù)覽功能【不用上傳至服務(wù)器】
這篇文章主要介紹了JavaScript實(shí)現(xiàn)圖片本地預(yù)覽功能,針對(duì)非IE瀏覽器的HTML5濾鏡功能及IE瀏覽器的相關(guān)組件功能實(shí)現(xiàn)不上傳至服務(wù)器預(yù)覽本地圖片的效果,需要的朋友可以參考下2017-09-09

