当前位置 : 主页 > 网络编程 > 其它编程 >

JavaScript進修筆記之數組(二)

来源:互联网 收集:自由互联 发布时间:2023-07-02
數組基本篇二數組對象1.聲明數組的要領Array是JavaScript的原生對象,同時也是一個組織函數,能夠用它天生新的數組。vararrnewArray(3);length:3等 數組基本篇二 數組對象 1.聲明數組的要領
數組基本篇二數組對象1.聲明數組的要領Array是JavaScript的原生對象,同時也是一個組織函數,能夠用它天生新的數組。vararrnewArray(3);length:3等

數組基本篇二

數組對象

1.聲明數組的要領

Array是 Javascript 的原生對象,同時也是一個組織函數,能夠用它天生新的數組。

var arr =new Array(3);//length:3等同於var arr=Array(3);不發起運用上面的要領天生新數組

引薦運用這類要領天生數組var arr = [1, 2];

2.數組的要領

2.1 Array.isArray()

Array.isArray要領返回一個布爾值,示意參數是不是為數組。

2.2 valueOf(),toString()

valueOf要領是一個一切對象都具有的要領,示意對該對象求值。差別對象的valueOf要領不盡一致,數組的valueOf要領返回數組自身。

toString要領也是對象的通用要領,數組的toString要領返回數組的字符串情勢。

2.3 push(),pop()

push要領用於在數組的末尾增加一個或多個元素,並返回增加新元素后的數組長度。

pop要領用於刪除數組的末了一個元素,並返回該元素。對空數組運用pop要領,不會報錯,而是返回undefined。

2.4 shift(),unshift()

shift要領用於刪除數組的第一個元素,並返回該元素。

unshift要領用於在數組的第一個位置增加元素,並返回增加新元素后的數組長度。

2.5 join()

join要領以指定參數作為分隔符,將一切數構成員銜接為一個字符串返回。經由過程call要領,這個要領也能夠用於字符串或類似數組的對象。

2.6 concat()

concat要領用於多個數組的兼并。它將新數組的成員,增加到原數構成員的後部,然後返回一個新數組,原數組穩定。

除了數組作為參數,concat也接收其他範例的值作為參數,增加到目標數組尾部。

2.7 reverse()

reverse要領用於倒置分列數組元素,返迴轉變后的數組。

2.8 slice()

slice要領用於提取目標數組的一部分,返回一個新數組,原數組穩定。arr.slice(start, end);slice沒有參數,即是返回一個原數組的拷貝。

2.9 splice()

splice要領用於刪除原數組的一部分成員,並能夠在刪除的位置增加新的數構成員,返回值是被刪除的元素。

arr.splice(start, count, addElement1, addElement2, ...);

splice的第一個參數是刪除的肇端位置(從0最先),第二個參數是被刪除的元素個數。假如背面另有更多的參數,則示意這些就是要被插進去數組的新元素。

2.10 sort()

sort要領對數構成員舉行排序

var arr = [1,7,3,5,9,6]; arr.sort(function(a,b){ return a-b }) console.log(arr)// [1, 3, 5, 6, 7, 9]

var arr = [ {name:"張三",age:18}, {name:"王五",age:3}, {name:"李四",age:9} ]; arr.sort(function(a,b){ return a.age-b.age }) console.log(arr) // [{name:"王五",age:3},{name:"李四",age:9},{name:"張三",age:18}]

2.11 map()

map要領將數組的一切成員順次傳入參數函數,然後把每一次的實行效果構成一個新數組返回。

var arr=[1,2,3,4] var arr1=arr.map(function(n){ return n+1 }) console.log(arr1)//[2, 3, 4, 5] console.log(arr)//[1, 2, 3, 4]

map要領接收一個函數作為參數。該函數調用時,map要領向它傳入三個參數:當前成員、當前位置和數組自身。

2.12 forEach()

forEach要領與map要領很類似,也是對數組的一切成員順次實行參數函數。然則,forEach要領不返回值,只用來操縱數據。這就是說,假如數組遍歷的目標是為了獲得返回值,那末運用map要領,不然運用forEach要領。

forEach的用法與map要領一致,參數是一個函數,該函數一樣接收三個參數:當前值、當前位置、全部數組。

var arr=[1,2,3,4] arr.forEach(function(value,key){ console.log(key+':'+value) })

2.13 filter()

filter要領用於過濾數構成員,滿足前提的成員構成一個新數組返回。它的參數是一個函數,一切數構成員順次實行該函數,返回效果為true的成員構成一個新數組返回。該要領不會轉變原數組。

2.14 some(),every()

這兩個要領,返回一個布爾值,示意推斷數構成員是不是相符某種前提。

它們接收一個函數作為參數,一切數構成員順次實行該函數。該函數接收三個參數:當前成員、當前位置和全部數組,然後返回一個布爾值。

some要領是只需一個成員的返回值是true,則全部some要領的返回值就是true,不然返回false。every要領是一切成員的返回值都是true,全部every要領才返回true,不然返回false。

2.15 reduce(),reduceRight()

reduce要領和reduceRight要領順次處置懲罰數組的每一個成員,終究累計為一個值。它們的差別是,reduce是從左到右處置懲罰(從第一個成員到末了一個成員),reduceRight則是從右到左(從末了一個成員到第一個成員),其他完整一樣。

var arr=[1,2,3,4] arr.reduce(function(a,b){ console.log(a+b)//3,6 return a+b//15 })//15

2.16 indexOf(),lastIndexOf()

indexOf要領返回給定元素在數組中第一次湧現的位置,假如沒有湧現則返回-1。indexOf要領還能夠接收第二個參數,示意搜刮的最先位置。

lastIndexOf要領返回給定元素在數組中末了一次湧現的位置,假如沒有湧現則返回-1。這兩個要領不能用來搜刮NaN的位置,即它們沒法肯定數構成員是不是包括NaN。

网友评论