摘要:參數傳入一個函數,函數有一個參數指代數組元素。,其中是偶數方法只要有一個或多個滿足條件都會返回參數參考返回一個布爾值。
數組方法
1.join(),數組轉字符串,原數組沒有被修改。
可選參數:一個字符串參數。數組的join()方法的實現:先把所有的單個元素都轉成字符串,然后按照參數鏈接每單個元素,不傳參數時,默認用","鏈接每單個元素。
var arr=[1,2,3,4,5]; var str=arr.join(); str;//"1,2,3,4,5" var str2=arr.join("-"); str2;//"1-2-3-4-5" var arr2=str2.split("-"); //split()是字符串的方法 arr2;//[1,2,3,4,5]
2.reverse(),數組倒序排序,數組被修改。
var arr=[5,4,3,2,1]; arr.reverse(); arr;//[1,2,3,4,5]
3.sort(),排序方法,數組被修改。
可選參數:為一個比較函數,不傳時,按字母表順序排序(如有必要轉化成字符串比較)。
var arr=[2,3,1,"a","A","b","B"]; arr.sort(); //不穿參數,按字母表順序排序 arr;//[1,2,3,A,B,a,b] arr.sort(function(a,b){ //小到大排序 return a-b; }); arr.sort(function(a,b){ //大到小排序 return b-a; }); var arr2=["But","add","Add","but"]; arr2.sort(function(a,b){ var x=a.toLowerCase(); var y=b.toLoweCase(); if(x>y) return 1; if(x4.concat(),不會修改調用的數組,創建并返回一個新數組,包含調用數組的元素和參數,如果參數是是數組,鏈接的是數組元素而非數組本身。
var arr=[1,2,3]; arr.concat(4,5);//返回[1,2,3,4,5] arr.concat(4,5);//返回[1,2,3,4,5] 之前的調用concat()并沒有修改調用的數組 arr.concat(4,[5,6]); //返回[1,2,3,4,5,6] 參數是數組的,鏈接的元素而非本身 arr.concat(4,[5,[6]]);//返回[1,2,3,4,5,[6]]5.slice(),不會修改調用的數組,返回一個子數組,參數指定的是調用數組的索引,即開始和結束的位置,可以是0個、1個或2個,無參數時返回調用數組具有相同元素的另個數組,參數為1個時返回調用數組索引大于等于1的元素,索引為2個時返回第一個索引和最后一個索引之間的元素,包含第一個索引的元素,不包含最后一個索引的元素。
var arr=[1,2,3,4,5]; arr.slice();//返回另一個具有相同元素的數組[1,2,3,4,5] arr.slice(1);//返回[2,3,4,5] arr.slice(-1); //返回[5] 最后一個元素為-1,倒數第二個為-2,依次類推 arr.slice(1,-1);//返回[2,3,4] 包含第一個索引的元素,不包含第二個索引的元素6.splice(),返回一個被刪除的元素組成的數組,會修改調用數組,第一個參數必須,可傳入1以上的參數,第一個參數為要開始刪除的索引,第二個參數為要刪除幾個,后面的參數為要插入的元素。
var arr=[1,2,3,4,5,6]; arr.splice(4);//返回[5,6], arr為[1,2,3,4] arr.splice(1,1);//返回[2],arr為[1,3,4] arr.splice(1,2,"a","b"); //返回[3,4], arr為[1,a,b] arr.splice(0,0,"A","B"); //返回[],arr為["A","B",1,a,b]7、pop()和push(),shift()和unshift()
var arr=[1,2,3]; arr.push(4);//返回arr的新長度4,push在末尾添加一個或多個元素 arr;//返回[1,2,3,4] arr.pop();//沒有參數,去掉數組最末尾的一個元素,返回被刪除的元素 arr;//返回[1,2,3] arr.unshift(0);//在數組最前面添加一個或多個元素,返回數組最新的長度 arr.shift();//刪除數組第一個元素,返回被刪除的元素8、toString()和toLocaleString(),
var arr=[1,2,"a",[["b"]]]; arr.toString();//"1,2,a,b" //toString()和沒有傳參數的join()方法返回的是一樣的字符串,toLocaleString()返回本地化字符串,很少用前面我們介紹了ECMAscript3的數組方法,下面是ECMAscript5的數組方法:
1、forEach();通常我們傳入一個函數,傳入的函數有三個參數,第一個指代數組元素,第二個指代數組元素的索引,第三個指代數組本身。var arr=[1,2,3,4,5]; var sum=0; arr.forEach(function(v,i,a){ sum+=v+1;//另一種寫法sum+=a[i]+1; }); sum;//20, arr;//[1,2,3,4,5], arr.forEach(function(v,i,a){ a[i]=v+1; }); arr;//[2,3,4,5,6]; //forEach()方法,沒有返回值。可以用來修改調用數組,和一些計算。2、map();參數參考forEach();
var arr=[1,2,3,4,5]; var result=arr.map(function(v,i,a){ return v-1; }); result;//[0,1,2,3,4]; map();//返回一個新的數組,調用數組沒有被修改。3、some();參數傳入一個函數,函數有一個參數指代數組元素。返回一個布爾值。
var arr=[1,2,3,4,5]; var result=arr.some(function(x){ return x%2===0; }); result;//true,其中2,4是偶數 //some()方法只要有一個或多個滿足條件都會返回true4、every();參數參考some(),返回一個布爾值。
var arr=[1,2,3,4,5]; var result=arr.every(function(x){ return x%2===0; }); result;//false,不是所有的元素都是偶數。 //方法every();所有的元素滿足條件才返回true;5、filter();參數傳入一個函數,函數有個一參數指代元素。根據條件過濾掉某些元素,返回一個新數組,沒有改變調用數組。filter()方法可以過濾掉稀疏數組,返回的新數組總是稠密的。
var arr=[1,2,3,4,5]; var result=arr.filter(function(){ return x>1; }); result;[2,3,4,5]; var arr2=[0,1,undefined,,null,""]; var result2=arr2.filter(function(x){ return x!==undefined && x!==null && x!==""; }); result2;//[0,1];過濾掉undefined,null和空字符串6、indexOf()和lastIndexOf(),參數為一個指定要搜索的元素;有則返回索引值,沒有返回-1,indexOf()從前面開始搜索,lastIndexOf()從后搜索。這兩個方法都有第二個參數表從哪里開始搜索。
var arr=[0,1,2,3,0]; var result=arr.indexOf(0); result;//從數組前面搜索,返回第一個匹配的索引值 var result2=arr.lastIndexOf(0); result2;//返回4,從數組后面搜索,返回第一個匹配的索引值 var result3=arr.indexOf(4); result2;//返回-1,數組不存在4這個元素。 var result4 =arr.indexOf(0,1); result4;//返回4,從1的位置開始搜索第一個0元素。 //我們也可以把數組所有的0元素找出來: var arr=[0,1,0,2,0,3,0,4]; function findAll(a,x){ //傳入2個參數,被遍歷的數組和被搜索的元素 var arr2=[]; var pos=0; while(pos
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86497.html
摘要:一認識數組數組是值的有序集合。每一個值叫一個元素,每一個元素在數組中有一個位置,以數字表示,叫做索引。數組的索引類似于對象的屬性名等價于每個實例數組都繼承自中的屬性。構造函數傳入多個參數時參數為元素。 一、認識數組數組是值的有序集合。每一個值叫一個元素,每一個元素在數組中有一個位置,以數字表示,叫做索引。第一個元素的索引為0,數組有一個length屬性,為數組的元素個數,length比...
摘要:索引刪除某個元素,數組不變理解數組是特殊的對象,轉變成稍后章節中介紹數組的其他方法 一、數組元素的添加 var arr=[];//創建一個空數組 arr[0]=0;//給arr添加第一個元素 arr[0]=1;//修改arr第一個元素 arr.push(1);//給arr末尾添加一個元素 arr.unshift(-1);//給arr前面添加一個元素 二、數組元素的修改 var arr=...
摘要:一循環使用參數為對象,返回一個數組,為對象屬性名的集合不可枚舉的除外。 數組循環數組循環方法:for循環,forEach(),for/in。一、for循環1.使用Object.keys()參數為對象,返回一個數組,為對象屬性名的集合(不可枚舉的除外)。IE8+,然后使用for循環得到對象的值的集合。 var o={a:1,b:2,c:3}; Object.defineProperty(...
摘要:兼容獲取指定對象下具有指定類名的對象參數為父節點對象,為類名當沒有傳入指定的父節點對象時默認獲取下所有的指定類事件綁定兼容需要綁定事件的元素,事件類型,執行函數級及以下級 1、兼容獲取指定DOM對象下具有指定類名的DOM對象 //參數:parentNode為父節點對象,className為class類名 //當沒有傳入指定的父節點對象時,默認獲取document下所有的指定類 func...
摘要:對象序列化是指對象狀態轉為字符串,也可以將字符串還原為對象。提供了和兩個方法使用該方法序列化對象。只能序列化對象的可枚舉的屬性,對于一個不能序列化的屬性將在對象序列化后生成的字符串中省略掉這個屬性。 對象序列化是指對象狀態轉為字符串,也可以將字符串還原為對象。ECMAScript5提供了JSON.stringify()和JSON.parse()兩個方法:1、JSON.stringify...
閱讀 3062·2021-09-22 15:59
閱讀 1314·2021-08-30 09:46
閱讀 2276·2019-08-30 15:54
閱讀 2011·2019-08-26 12:15
閱讀 2538·2019-08-26 12:09
閱讀 1338·2019-08-26 11:57
閱讀 3339·2019-08-23 17:11
閱讀 1887·2019-08-23 15:59