亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

JavaScript數組常用方法

2024-05-06 16:15:38
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript數組常用方法的相關資料,非常的詳細,需要的朋友可以參考下
 

判斷某個對象是否是數組: instanceof、Array.isArray()

對于一個網頁或者一個全局作用域可以使用instanceof操作符。

if(value instanceof Array){  //判斷value是否是數組
    
}
instanceof操作符它假設只有一個全局執行環境,如果網頁包含多個框架則使用ECMAScript5新增的Array.isArray()方法。

if(Array.isArray(value)){//判斷value是否是數組

}
Array.isArray()方法支持的瀏覽器有IE9+、Firefor 4+、Safari5+、Opera 10.5+、Chrome。

如果要在未實現這個方法中的瀏覽器中檢查數組,則使用:

if(Object.prototype.toString.call(value)=="[object Array]"){
}

將數組轉換為字符串: toLocaleString()、toString()、valueOf()、join()

 

復制代碼代碼如下:

var test=['a','b','c'];
alert(test.toString());//a,b,c
alert(test.toLocaleString());//a,b,c
alert(test.valueOf());//a,b,c
alert(test);//a,b,c 默認調用toString()方法
alert(test.join(','));//a,b,c
alert(test.join('|'));//a|b|c

 

添加和移除數組元素方法:push()、pop()、unshift()、shift()

push()方法可以接受任意數量的參數,把他們逐個加到數組末尾,并且返回數組修改后的數組長度。

pop()方法從數組末尾移除最后一項,然后返回移除的項。

unshift()方法在數組前端添加任意數量的參數并返回新數組長度。

shift()方法能夠移除數組中第一個項并返回移除的項。

 

復制代碼代碼如下:

var test=[];
var count = test.push('a','b');//從數組末尾逐個添加
count =test.push('c');
alert(count);//3
alert(test);//
var item = test.pop();
alert(item);//c
alert(test.length);//2

 

排序方法:reverse()和sort()

reverse()方法會反轉數組項順,操作數組本身。

sort()方法默認按升序排列數組項,操作數組本身。

 

復制代碼代碼如下:

var test=[1,2,3,4,5];
test.reverse();
alert(test);//5,4,3,2,1
var test2=[0,1,5,10,15];
test2.sort();
alert(test2);//0,1,10,15,5    sort()方法會調用每個數組項的toString()方法,比較字符串,以確定排序。所以這里排序是字符串排序

 

sort()方法還可以傳入一個比較函數。

比較函數在第一個參數應該位于第二個之前則返回一個負數,如果兩個參數相等則返回0,第一個參數應該位于第二個之后則返回一個正數。

 

復制代碼代碼如下:

function compare(value1,value2){
    if(value1<value2){
        return -1;
    }else if(value1>value2){
        return 1;
    }else{
         return 0; 
    }
}    
var test=[0,1,5,10,15];
test.sort(compare);
alert(test);//0,1,5,10,15   

 

操作方法:concat()、slice()、splice()

concat()方法用于連接兩個或多個數組。該方法不會改變現有的數組,而僅僅會返回被連接數組的一個副本。返回一個新的數組。

 

復制代碼代碼如下:

var a = [1,2,3];
alert(a.concat(4,5));//1,2,3,4,5
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
alert(arr.concat(arr2));
//George,John,Thomas,James,Adrew,Martin
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
var arr3 = new Array(2)
arr3[0] = "William"
arr3[1] = "Franklin"
alert(arr.concat(arr2,arr3))
//George,John,Thomas,James,Adrew,Martin,William,Franklin

 

slice() 方法可從已有的數組中返回選定的元素。返回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。

 

復制代碼代碼如下:

var test =['a','b','c','d','e'];
var arr1=test.slice(1);
var arr2=test.slice(1,4);
alert(arr1);//b,c,d,e
alert(arr2);//b,c,d

 

splice() 方法向/從數組中添加/刪除項目,然后返回被刪除的項目。操作數組本身。

第一個參數:起始位置、第二個參數:截取的個數、第三個參數:追加的新元素。

 

復制代碼代碼如下:

//刪除
var test=['a','b','c'];
var removed=test.splice(0,1)//刪除第一項
alert(test);//b,c
alert(removed);//a 返回被刪除的項
//插入
var test2=['a','b','c'];
var removed2=test2.splice(1,0,'d','e')//從位置1開始插入d,e
alert(test2);//a,d,e,b,c
alert(removed2)//空數組
//替換
var test3=['a','b','c'];
var removed3=test3.splice(1,1,'d','e')//從位置1開始插入d,e
alert(test3);//a,d,e,c
alert(removed3)//b

 

位置方法:indexOf()、lastIndexOf()

ECMAScript5提供方法支持瀏覽器:IE9+、Firefox 2+、Safari 3+、Opera 9.5+、Chrome

indexOf() 方法可返回某個指定的字符串值在字符串中首次出現的位置。

lastIndexOf() 方法可返回一個指定的字符串值最后出現的位置,在一個字符串中的指定位置從后向前搜索。

 一個參數時:表示要查找的值,返回索引位置(從0開始)、兩個參數時:第一個參數表示起始位置,第二個參數表示要查找的值。

 

復制代碼代碼如下:

var numbers=[1,2,3,4,5,4,3,2,1];
alert(numbers.indexOf(4));//3
alert(numbers.lastIndexOf(4));//5

 

alert(numbers.IndexOf(4,4));//5
alert(numbers.lastIndexOf(4,4));//3

 

迭代方法:every()、filter()、forEach()、map()、some()

ECMAScript5提供方法支持瀏覽器:IE9+、Firefox 2+、Safari 3+、Opera 9.5+、Chrome

every():對數組中的每一項運行給定函數,如果該函數對每一項都返回true,則返回true。

filter():對數組中的每一項運行給定函數,返回該函數會返回true的項組成的數組。

forEach():對數組中的每一項運行給定函數,這個方法沒有返回值。

map():對數組中的每一項運行給定函數,返回每次函數調用的結果組成的數組。

some():對數組中的每一項運行給定函數,如果該函數對任一項返回true,則返回true。

以上函數都不會修改數組中包含的值。

 

復制代碼代碼如下:

var numbers=[1,2,3,4,5,4,3,2,1];
//every()
var everyResult=numbers.every(function(item,index,array){
      return (item>2); 
})
alert(everyResult);//false
//some()
var someResult=numbers.some(function(item,index,array){
      return (item>2); 
})
alert(someResult);//true
//filter()
var filterResult=numbers.filter(function(item,index,array){
      return (item>2); 
})
alert(filterResult);//[3,4,5,4,3]

 

//map()
var mapResult=numbers.map(function(item,index,array){
      return (item*2); 
})
alert(mapResult);//[2,4,6,8,10,8,6,4,2]

//forEach()
numbers.forEach(function(item,index,array){
      //執行操作 無返回值
})

 

歸并方法:reduce()、reduceRight()

 ECMAScript5提供方法支持瀏覽器:IE9+、Firefox 3+、Safari 4+、Opera 10.5+、Chrome

 兩個方法都會迭代數組的所以項,然后構建一個最終返回的值。reduce()方法從數組第一項開始,reduceRight()方法從數組最后開始。

 

復制代碼代碼如下:

var values=[1,2,3,4,5];
var sum=valuse.reduce(function(prev,cur,index,array){
         prev+cur;
});
alert(sum);//15

 

以上就是本文的全部內容了,希望大家能夠喜歡。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
夜夜躁日日躁狠狠久久88av| 91欧美精品成人综合在线观看| 九九热视频这里只有精品| 亚洲成avwww人| 永久免费毛片在线播放不卡| 国产成人av网址| 久久精品国产久精国产一老狼| 欧美乱妇高清无乱码| 久久精品久久久久| 亚洲欧洲av一区二区| www.亚洲成人| 精品女同一区二区三区在线播放| 国产精品久久久久久久久久东京| 91在线中文字幕| www.日韩欧美| 亚洲第一色中文字幕| www国产精品视频| 色青青草原桃花久久综合| 91亚洲精品在线观看| www.亚洲免费视频| 欧美精品福利视频| 欧美怡红院视频一区二区三区| 96精品视频在线| 中文字幕亚洲欧美日韩2019| 美女av一区二区三区| 欧美人在线观看| 97欧美精品一区二区三区| 精品久久香蕉国产线看观看亚洲| 国产一区二区三区三区在线观看| 精品国产91久久久久久| 欧美老肥婆性猛交视频| 久久久久久国产三级电影| 国产不卡精品视男人的天堂| 国产精品日韩在线一区| 亚洲a成v人在线观看| 尤物yw午夜国产精品视频| 国产午夜精品美女视频明星a级| 97**国产露脸精品国产| xxx一区二区| 亚洲欧美国产一区二区三区| 91亚洲精品一区| 国产mv免费观看入口亚洲| 国产精品免费观看在线| 国产亚洲一区二区在线| 国产精品免费久久久久久| 国产成人一区二| 国产精品久久久久免费a∨大胸| 久久精品亚洲94久久精品| 久久精品91久久香蕉加勒比| 亚洲天堂2020| 国产精品久久久久久久久久久不卡| 法国裸体一区二区| 国产偷国产偷亚洲清高网站| 精品久久久久久久久久久| 欧美天天综合色影久久精品| 日韩美女激情视频| 亚洲国内精品在线| 久久亚洲电影天堂| 欧美电影在线播放| 91在线观看免费高清完整版在线观看| 久久福利视频导航| 国产精品人成电影在线观看| 国产综合久久久久久| 九九热r在线视频精品| 欧美性猛交xxxx乱大交| 国产一区二区在线免费视频| 91在线观看免费观看| 黑丝美女久久久| 久久久国产一区| 精品一区二区三区三区| 成人免费高清完整版在线观看| 日韩av影视综合网| 国产亚洲精品久久久久久牛牛| 欧美黑人巨大精品一区二区| 亚洲激情视频网站| 国产精品日日摸夜夜添夜夜av| 国产精品91久久久久久| 精品国产自在精品国产浪潮| 91爱爱小视频k| 91精品综合视频| 97人人爽人人喊人人模波多| 成人性生交大片免费看小说| 国产一区在线播放| 日产精品99久久久久久| 国产欧美日韩中文字幕在线| 亚洲欧美在线一区| 成人动漫网站在线观看| 一本一本久久a久久精品综合小说| 日韩电影中文字幕av| 欧美成人精品激情在线观看| 精品国产91久久久久久老师| 亚洲国产精久久久久久| 欧美午夜精品久久久久久久| 国产欧美在线观看| 国产99久久精品一区二区永久免费| 亚洲有声小说3d| 久久久欧美一区二区| 欧美日韩国产在线| 亚洲va久久久噜噜噜| 中文字幕日韩精品在线观看| 日韩成人在线视频观看| 欧美亚洲视频在线观看| 亚洲国产精品va在线观看黑人| 亚洲性生活视频在线观看| 欧美激情精品久久久久久大尺度| 3344国产精品免费看| 久久亚洲精品一区| 日韩在线视频观看正片免费网站| 亚洲精选一区二区| 亚洲级视频在线观看免费1级| 中文字幕综合在线| 91在线视频免费| 欧美寡妇偷汉性猛交| 欧美肥老太性生活视频| 精品国产一区二区三区四区在线观看| 国产精品一香蕉国产线看观看| 国产成人精品久久| 久久免费视频这里只有精品| 国产盗摄xxxx视频xxx69| 精品福利在线观看| 日本一区二区三区四区视频| 久久久久中文字幕2018| 国产成+人+综合+亚洲欧美丁香花| 国产精品视频yy9099| 97免费中文视频在线观看| 精品亚洲一区二区三区在线观看| 日本午夜在线亚洲.国产| 国产精品国产自产拍高清av水多| 欧美日韩午夜剧场| 国产精品男人的天堂| 精品国产一区二区三区四区在线观看| 法国裸体一区二区| 九九久久精品一区| 精品视频一区在线视频| 欧美第一黄色网| 欧美性猛交xxxxx免费看| 97视频免费在线看| 国产精品久久久久不卡| 欧美孕妇毛茸茸xxxx| 久久国产一区二区三区| 福利精品视频在线| 亚洲第一精品夜夜躁人人躁| 国产精品免费视频久久久| 国内外成人免费激情在线视频| 97视频在线免费观看| 亚洲国产成人精品女人久久久| 欧美xxxx综合视频| 精品magnet| 亚洲国产精品系列| 91九色单男在线观看| 亚洲天堂开心观看| 精品性高朝久久久久久久| 国产精品久久久久久久久久| 亚洲精品自拍第一页| 国模精品视频一区二区三区| 国产精品永久免费观看| 欧美亚洲一级片| 国产精品v片在线观看不卡| 国产精品亚洲视频在线观看| 在线观看国产精品91| 国产自摸综合网| 久久久国产视频| 欧美成人合集magnet| 欧美精品久久久久久久久|