chrome原生方法之陣列

2022-03-22 15:18:06 字數 2005 閱讀 3008

由於各瀏覽器的js實現不同,因此各瀏覽器的原生物件(這裡不涉及dom實現,當然這也有區別)的原生方法也不盡相同,採用原生方法的好處顯而易見,使用兼有效率,而且其中有些方法可能包含在以後的ecmascript規範中。

下面看一下chrome/15實現的一些陣列方法

concat:這個好說,唯一需要注意的就是concat不是就地修改的,是指返回鏈結後的結果,另外一點是指回展開第一層陣列

join:連線陣列

pop:出棧操作,注意這個也是就地修改原陣列

push: 入棧操作,注意這個也是就地修改原陣列

reverse: 倒序陣列,注意這個也是就地修改原陣列

shift: 出隊操作,注意這個也是就地修改原陣列

unshift: 在陣列頭部插入一項,後面的以此後移

slice: 擷取陣列的一部分,裡乙個常見的操作是用這個方法把類陣列轉化為真正的陣列

splice:修改陣列,可以用來插入新項,注意這個也是就地修改原陣列

sort: 陣列排序,注意這個也是就地修改原陣列

tolocalestring:返回陣列的本地字串形式,一般是用逗號

tostring: 返回陣列的字串形式,一般是用逗號

isarray:判斷乙個變數是不是陣列,注意,這個是個靜態方法,呼叫形式array.isarray()

every:判斷乙個陣列裡面的項是不是都滿足條件,如果全部滿足條件,返回true,否則返回false

some: 這個可以跟every聯絡起來,every要求全部為true最後才為true,some只要有一項為true,返回就為true

filter:按照給定條件從陣列裡篩選出符合條件的項,然後作為新的陣列返回,否則返回null

foreach:對陣列中的每一項一次執行給定的操作

indexof:返回給定項在陣列中的第乙個位置(從0下標開始)

lastindexof:與indexof相反

map:對陣列中的每一項一次執行給定的操作並返回修改後的陣列

reduce:reduce(func,init) func為二元函式,將func作用於seq序列的元素,每次攜帶一對(先前的結果以及下乙個序列的元素),連續的將現有的結果和下乙個值作用在獲得的隨後的結果上,最後減少我們的序列為乙個單一的返回值。

reduceright:reduce從右往左的實現

當我們實現自己的小型庫或者一些工具時,也可以稍微擴充套件一下

view code

object.prototype.extend = function(src)

}array.extend(catch(ex)}},

isarray : (array.isarray)?array.isarray:function(ele)

})array.prototype.extend((function()

};var filter = array.prototype.filter || function(fn,obj)

}return result;

};var every = array.prototype.every || function(fn,obj)

}return

true;

};var some = array.prototype.some || function(fn,obj)

}return

false;

};var indexof = array.prototype.indexof || function(dest)

}return -1;

};var map = array.prototype.map || function(fn,obj)

return result;

};var reduce =array.prototype.reduce || function(fn,init)

return result;

}return

})())

下面是乙個小例子,給指定ul下面的li設定內容:

陣列和物件的原生方法

array.concat 連線陣列 array.join 將陣列元素連線起來以構建乙個字串 array.length 陣列的大小 array.pop 刪除並返回陣列的最後乙個元素 array.push 給陣列新增元素 array.reverse 顛倒陣列中元素的順序 array.shift 將元素移...

陣列和物件的原生方法

array.concat 連線陣列 array.join 將陣列元素連線起來以構建乙個字串 array.length 陣列的大小 array.pop 刪除並返回陣列的最後乙個元素 array.push 給陣列新增元素 array.reverse 顛倒陣列中元素的順序 array.shift 將元素移...

陣列和物件的原生方法

array.concat 連線陣列 array.join 將陣列元素連線起來構成乙個字串 array.length 陣列的大小 array.pop 刪除並返回陣列的最後乙個元素 array,push 給陣列新增元素 array.reverse 顛倒陣列中元素的順序 array.shift 將元素移出...