摘要:若參數是數組,則鏈接的事數組元素。和和方法是數組的邏輯判定他們對數組元素應用指定的函數進行判定,返回或。全都小于不是所有的元素都是偶數里面含有偶數全都不大于和和方法使用指定的函數將數組元素進行組合,生成單個值。
在這里總結一下JS的數組方法:
1、join()
Array.join()方法將數組中所有元素都轉化為字符串并連接在一起,返回最后剩成的字符串。Array.join()方法是String.split()方法的逆向操作,后者是將字符串分割為若干塊來創建一個數組。
var a=[1,2,3];//創建一個包含三個元素的數組 a.join();//=>"1,2,3" a.join(" ");//=>"1 2 3" a.join("");//=>"123" var b=new Array(10);//長度為十的空數組 b.join("-");//=>"---------":9個-組成的字符串
2、reverse()
Array.reverse()方法將數組中的元素顛倒順序,返回逆向數組。他不重新創建一個新的數組,只是在原來的數組里將元素重新排列。
var a=[1,2,3]; a.reverse().join();//=>"3,2,1"
3、sort()
javascript數組方法Array.sort()方法將中的元素排序并返回排序后的數組。當不帶參數調用sort()時,數組數組元素以字母表順序排序(如有必要將臨時轉化為字符串進行比較)。為了按照其他方式而非字母表順序進行排序,必須給sort()傳遞一個比較函數。
var a=new Array("b","c","a"); a.sort(); var s=a.join(",");//s=="a,b,c" //默認方法 //由大到小排序,可以參照上面解題答案中。
4、concat()
Array.concat()方法創建并返回一個新數組,他的元素包括原始數組的元素和concat()的所有參數。若參數是數組,則鏈接的事數組元素。
var a=[1,2,3]; a.concat(4,5);//返回[1,2,3,4,5] a.concat([4,5]);//返回[1,2,3,4,5] a.concat([4,5],[6,7]);//返回[1,2,3,4,5,6,7] a.concat(4,[5,[6,7]]);//返回[1,2,3,4,5,[6,7]]
5、slice()
Array.slice()方法返回指定數組的一個片段或一個子數組,他的兩個參數分別是指定的片段的開始和介紹位置。返回的數組包含第一個參數指定的位置到第二參數的指定位置間所有元素但不包含第二個參數所指的位置的元素,如果只有一個參數,則返回從開始位置到最后一個元素。如果參數是負數,表示相對于數組中最后一個元素的位置,即-1指定了最后一個元素,-3指定倒數第三個元素。注意,slice()不會修改調用的數組。
var a=[1,2,3,4,5]; a.slice(0,3);//返回[1,2,3] a.slice(3);//返回[4,5] a.slice(1,-1);//返回[2,3,4] a.slice(-3,-2);//返回[3]
6、splice()
Array.splice()方法是在數組中插入或刪除元素的通用方法。splice()會修改調用的數組。splice()的第一個參數指定的插入或(和)刪除的起始位置,第二個參數指定的應刪除的個數,若第二個參數為空,則從起始位置到數組末尾。splice()前兩個參數指定了需要刪除的數組元素,緊隨其后的若干個參數為需要插入到數組的元素,從第一個參數指定的位置開始插入。
var a=[1,2,3,4,5,6,7,8]; a.splice(4);//返回[5,6,7,8],a是[1,2,3,4] a.splice(1,2);//返回[2,3],a是[1,4] a.splice(1,1);//返回[4],a是[1] // var a=[1,2,3,4,5,6,7,8]; a.splice(1,0,"a","c",[1,2]);//返回[],a是[1,2,"a","c",[1,2],3,4,5,6,7,8]
7、push()和pop()
push()和pop()方法允許將數組當做棧來使用,push()方法在數組的尾部添加一個或多個元素,并返回數組新的長度。pop()刪除最后一個元素,減少數組長度,并返回它刪除的值。兩個方法都修改并替換原始數組。
var a[]; a.push(1,2);//返回2,a:[1,2] a.pop();//返回2,a:[1] a.push([1,2]);//返回2,a:[1,[1,2]] a.pop();//返回[1,2],a:[1]
8、toString()和toLocaleString()
toString()方法將數組每個元素轉化為字符并輸出用逗號分隔的字符串列表,輸出不包括方括號和其他形式的包裹數組值得分隔符。toLocaleString()是toString()的本地化版本。
[1,2,3].toString() //生成"1,2,3" ["a","b",3].toString() //生成"a,b,3" [1,[2,3]].toString() //生成"1,2,3"
ECMAScript 5中的數組方法:
1、forEach()
forEach()方法從頭至尾遍歷數組,并為每個元素調用指定的函數。
var a=[1,2,3,4,5]; var sum=0; a.forEach(function(value){sum+=value;});//將每個元素累加到sum sum //=>15 a.forEach(function(v,i,a){a[i]=v+1;});//元素自加1 a //=>[2,3,4,5,6]
2、map()
map()方法將調用的數組每個元素傳遞給指定的函數,并返回一個數組,它包含該函數的返回值。
a=[1,2,3]; b=a.map(function(x){return x*x;}); //b [1, 4, 9],a[1,2,3]
3、filter()
filter()方法返回的數組元素是調用數組的一個子集,傳遞的函數是用來邏輯判定的:該函數返回true或false;如果返回值為true或能轉化為true的值,那么傳遞給判定函數的元素就是這個子集的成員,他將被添加到一個作為返回值得函數中。
a=[5,4,3,2,1]; b=a.filter(function(x){return x<3});//[2,1]
4、every()和some()
every()和some()方法是數組的邏輯判定:他們對數組元素應用指定的函數進行判定,返回true或false。every()方法只有說有元素返回true時,返回true,相當于&;some()方法只有所有元素返回false時返回false,相當于|。
a=[1,2,3,4,5]; a.every(function(x){return x<10;});//=>true:全都小于10 a.every(function(x){return x%2===0;});//=>flase:不是所有的元素都是偶數 a.some(function(x){return x%2===0;});//=>true:a里面含有偶數 a.some(function(x){return x>10;});//=>false:全都不大于10
5、reduce()和reduceRight()
reduce()和reduceRight()方法使用指定的函數將數組元素進行組合,生成單個值。reduce()需要兩個參數,第一個是其使用的方法,第二個是可選參數,是一個傳遞給函數的初始值,當第二個參數為空時,意味著第一次調用函數就使用了第一個和第二個數組元素作為其第一個第二個參數,按照數組索引從低到高。reduceRight()的工作原理一樣,不同的是它按照數組索引由高到低處理數組,即從數組右側開始。
var a=[1,2,3,4,5]; var sum=a.reduce(function(x,y){return x+y},0);//數組求和 var p=a.reduce(function(x,y){return x*y},1);//數組求積 var max=a.reduce(function(x){return (x>y)?x:y;});//求最大值
6、indexOf()和lastIndexOf()
indexOf()和lastIndexOf()搜索整個數組中具有給定值得元素,返回找到的第一個元素的索引或者沒有找到就返回-1。indexOF()是從頭至尾,而lastIndexOf()則反向搜索。indexOf()和lastIndexOf()方法不接受一個函數作為其參數。第一個參數是需要搜索的值,第二個參數是可選的,他指定數組中一個索引,從哪開始搜索。若第二個參數為負,他代表相對數組的末尾元素的偏移量。
a=[0,1,2,1,0]; a.indexOf(1);//=>1 a[1]=1 a.lastIndexOf(1);//=>3 a[3]=1 a.indexOf(3);//=>-1 // //在數組中查找所有的x,并返回一個包含匹配索引ed數組 function findall(a,x){ var results=[];//將返回的數組 len=a.length;//待搜索數組的長度 pos=0;//開始搜索的位置 while(pos
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83291.html
摘要:前言原文在點這里,這也是作者的個人網站,希望多多支持,對于作者而言,集合主要分為兩個派系,一個是系列,一個是系列。的線程安全版本,內部的實現幾乎和一模一樣。也是的線程安全版本,并且使用了分段加鎖機制,所以效率上要比要好很多。 前言 原文在: 點這里,這也是作者的個人網站,希望多多支持,O(∩_∩)O~ 對于作者而言,Java 集合主要分為兩個派系,一個是 Collection 系列,一...
摘要:的語言的動態性意味著我們可以使用以上種數據類型表示變換過渡動畫實現案例前端掘金以下所有效果的實現方式均為個人見解,如有不對的地方還請一一指出。 讀 zepto 源碼之工具函數 - 掘金Zepto 提供了豐富的工具函數,下面來一一解讀。 源碼版本 本文閱讀的源碼為 zepto1.2.0 $.extend $.extend 方法可以用來擴展目標對象的屬性。目標對象的同名屬性會被源對象的屬性...
摘要:修改數組這個參數的具體作用,請參考微信小程序官方提供的說明,地址為在通過在頁面里使用傳遞過來的,是為識別正在編輯修改哪個數組。我們也會不定期發布一些微信小程序的學習教程。 前言 相信在小程序推出公測之后,很多小伙伴都已經抓緊申請注冊小程序了。在開發階段中也碰到了很多的問題,例如wx.request數據請求不成功,在數組操作時,不知道如何往數組里push數據,input如何監聽用戶輸入的...
閱讀 2484·2023-04-25 19:24
閱讀 1700·2021-11-11 16:54
閱讀 2833·2021-11-08 13:19
閱讀 3547·2021-10-25 09:45
閱讀 2552·2021-09-13 10:24
閱讀 3276·2021-09-07 10:15
閱讀 4014·2021-09-07 10:14
閱讀 2950·2019-08-30 15:56