摘要:返回值是經(jīng)過排序后的數(shù)組另一種更為簡便的方式操作方法基于當(dāng)前數(shù)組中所有項(xiàng)創(chuàng)建一個(gè)新數(shù)組。返回起始和結(jié)束位置之間的項(xiàng)不包括結(jié)束位置。若函數(shù)對每一項(xiàng)都返回則返回返回這個(gè)函數(shù)會返回的數(shù)組沒有返回值,本質(zhì)上與使用循環(huán)迭代數(shù)組一樣。
Array
toString() 返回?cái)?shù)組中每個(gè)值的字符串形式拼接而成的以逗號分隔的字符串
var arr = [1,2,4,5]; console.log(arr.toString());//1,2,4,5
valueOf() 返回的還是數(shù)組
var arr = ["1","2","4","5"]; console.log(arr.valueOf());//["1","2","4","5"]
join() 返回字符串,使用不同分隔符來構(gòu)建字符串【默認(rèn)為逗號】
var arr = [1,2,3,4,5]; console.log(arr.join());//1,2,3,4,5 console.log(arr.join(""));//12345 console.log(arr.join("|"));//1|2|3|4|5棧方法
push() 棧方法,添加到數(shù)組末尾,返回修改后數(shù)組的長度
pop() 棧方法,從數(shù)組末尾移除最后一項(xiàng),返回移除的項(xiàng)
隊(duì)列方法shift() 隊(duì)列方法,取得數(shù)組第一項(xiàng)
unshift() 隊(duì)列方法,添加到數(shù)組前端
var colors = []; var count = colors.push("red","blue"); // 2 //colors = ["red","blue"]; count = colors.unshift("green","white"); //4 //colors = [“green”,"white","red","blue"] colors.pop(); //"blue" colors.shift(); //"green"重排序方法
reverse() 反轉(zhuǎn)數(shù)組項(xiàng)的順序,返回值是經(jīng)過反轉(zhuǎn)后的數(shù)組
sort() 默認(rèn)按照升序排列數(shù)組【調(diào)用每個(gè)數(shù)組項(xiàng)的toString()方法比較字符串。即使數(shù)組都是數(shù)值,也是比較字符串】,可接受比較函數(shù)作為參數(shù)。返回值是經(jīng)過排序后的數(shù)組
var arr = [10,2,7,3,5]; arr.reverse();//[5,3,7,2,10] arr.sort();//[10,2,3,5,7] function compare1(v1,v2){ if(v1 < v2) return -1; else if( v1 > v2) return 1; else return 0; } arr.sort(compare1);//[2,3,5,7,10] //另一種更為簡便的方式 function compare2(v1,v2){ return v2-v1; } arr.sort(compare2);//[10,7,5,3,2]操作方法
concat() 基于當(dāng)前數(shù)組中所有項(xiàng)創(chuàng)建一個(gè)新數(shù)組。在沒有參數(shù)的時(shí)候,只是復(fù)制當(dāng)前數(shù)組并返回副本。有參數(shù)則將值添加到數(shù)組末尾
var colors=["red","blue"]; var colors2 = colors.concat("yellow",["black","white"]); //["red","blue","yellow","black","white"]
slice() 創(chuàng)建一個(gè)新數(shù)組。
slice(start,end),返回起始和結(jié)束位置之間的項(xiàng)【不包括結(jié)束位置】。結(jié)束位置小于起始位置返回空數(shù)組
slice(start),返回從start位置到末尾的所有項(xiàng)
若是負(fù)數(shù),用數(shù)組長度+該負(fù)數(shù)來表示位置
var colors = ["red","green","blue","black","yellow"]; var colors2 = colors.slice(1);//["green","blue","black","yellow"] var colors3 = colors.slice(1,4);//["green","blue","black"] var colors4 = colors.slice(-2,-1);//與slice(3,4)效果相同。["black"]
splice() 返回被刪除的項(xiàng)。splice(start,delete_count,insert_item[可選])
刪除 splice(start,count) start要刪除的第一項(xiàng)的位置,count要刪除的項(xiàng)數(shù)
插入 splice(start,0,inserts) start要插入的位置,0(要刪除的項(xiàng)數(shù)為0),inserts要插入的項(xiàng)(可以是任意多個(gè)項(xiàng))
替換 splice(start,d_count,inserts) start起始位置,d_count為要刪除的項(xiàng)數(shù),inserts為要插入的項(xiàng)。插入的項(xiàng)數(shù)與刪除的項(xiàng)數(shù)不必相等。
var colors = ["red","green","blue","black","yellow"]; var removed = colors.splice(0,1);//刪除第一項(xiàng) //colors = ["green","blue","black","yellow"]; //removed = ["red"] removed = colors.splice(1,0,"pink","orange");//從位置1開始插入2項(xiàng) //colors = ["green","pink","orange","blue","black","yellow"]; //removed = [];沒有刪除元素,返回空數(shù)組 removed = colors.splice(1,1,"red","purple");//從位置1刪除一個(gè),再插入2項(xiàng) //colors = ["green","red","purple","orange","blue","black","yellow"]; //removed = ["pink"];位置方法
indexOf() 從數(shù)組開頭開始查找所在項(xiàng)的位置
lastIndexOf() 從數(shù)組末尾開始向前查找
比較參數(shù)和數(shù)組中每一項(xiàng)時(shí),使用全等操作符。=== 沒有找到時(shí)返回-1迭代方法。對數(shù)組中每一項(xiàng)運(yùn)行給定函數(shù)。
every() 若函數(shù)對每一項(xiàng)都返回true,則返回true
filter() 返回這個(gè)函數(shù)會返回true的數(shù)組
forEach() 沒有返回值,本質(zhì)上與使用for循環(huán)迭代數(shù)組一樣。
map() 返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組
some() 如果函數(shù)對任一項(xiàng)返回true,則返回true
【兼容性】IE9+,Chrome,Firefox 2+,Safari 3+,Opera 9.5+支持
【注意區(qū)分every()和some()】
var numbers=[1,2,3,4,5,6,7]; var everyResult = numbers.every(function(item,index,array){ return (item > 3); }); //everyResult的值為false。因?yàn)?,2,3返回的是flase,而每一項(xiàng)都返回true才會返回true var someResult = numbers.some(function(item,index,array){ return (item > 3); }); //someResult的值為true。因?yàn)橛蟹祷豻rue的值,則返回true var filterResult = numbers.filter(function(item,index,array){ return (item > 2); }); //filterResult的值為[3,4,5,6,7],返回符合條件的值 var mapResult = numbers.map(function(){ return item*2; }); //mapResult的值為[2,4,6,8,10,12,14],返回每個(gè)數(shù)的結(jié)果歸并方法
reduce() 從數(shù)組第一項(xiàng)開始,逐個(gè)遍歷到最后
reduceRight() 從數(shù)組的最后一項(xiàng)開始,向前遍歷到第一項(xiàng)
都支持4個(gè)參數(shù)。(prev【前一個(gè)值】,cur【當(dāng)前值】,index【項(xiàng)的索引】,array【數(shù)組對象】)
reduce()和reduceRight()的差別在于從哪頭開始遍歷數(shù)組。除此之外都一樣。
【兼容性】IE9+,Chrome,Firefox 3+,Safari 4+,Opera 10.5支持
這個(gè)函數(shù)返回的任何值都會作為第一個(gè)參數(shù)自動傳給下一項(xiàng)。第一次迭代從數(shù)組的第二項(xiàng)開始。
//利用reduce求數(shù)組中所有值的和 var values = [1,2,3,4,5]; var sum = values.reduce(function(prev,cur,index,array){ return prev + cur; }); //sum的值為15;
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/79347.html
摘要:過完春節(jié)又有好多人尋找新的機(jī)會,旁邊的人面試完就會分享一些問題,明明會的但是面試的時(shí)候,想不全,面試官不滿意這個(gè)懊惱的行為,今天的文章跟大家分享下如何判斷便是是數(shù)組。 過完春節(jié)又有好多人尋找新的機(jī)會,旁邊的人面試完就會分享一些問題,明明會的但是面試的時(shí)候,想不全,面試官不滿意...這個(gè)懊惱的行為,今天的文章跟大家分享下:javascript如何判斷便是是數(shù)組。 1. typeof真的那...
摘要:過完春節(jié)又有好多人尋找新的機(jī)會,旁邊的人面試完就會分享一些問題,明明會的但是面試的時(shí)候,想不全,面試官不滿意這個(gè)懊惱的行為,今天的文章跟大家分享下如何判斷便是是數(shù)組。 過完春節(jié)又有好多人尋找新的機(jī)會,旁邊的人面試完就會分享一些問題,明明會的但是面試的時(shí)候,想不全,面試官不滿意...這個(gè)懊惱的行為,今天的文章跟大家分享下:javascript如何判斷便是是數(shù)組。 1. typeof真的那...
摘要:過完春節(jié)又有好多人尋找新的機(jī)會,旁邊的人面試完就會分享一些問題,明明會的但是面試的時(shí)候,想不全,面試官不滿意這個(gè)懊惱的行為,今天的文章跟大家分享下如何判斷便是是數(shù)組。 過完春節(jié)又有好多人尋找新的機(jī)會,旁邊的人面試完就會分享一些問題,明明會的但是面試的時(shí)候,想不全,面試官不滿意...這個(gè)懊惱的行為,今天的文章跟大家分享下:javascript如何判斷便是是數(shù)組。 1. typeof真的那...
摘要:返回?cái)?shù)組內(nèi)容的字符串表示形式將數(shù)組中每個(gè)元素轉(zhuǎn)為字符串,并用逗號連接。拍照連接符將數(shù)組中每個(gè)元素轉(zhuǎn)為字符串,用自定義的連接符連接每個(gè)元素需要用變量借助。 關(guān)于數(shù)組篇的記錄,純自己總結(jié),會持續(xù)更新~ 原生js方法 1:創(chuàng)建數(shù)組的幾種方法: var arr = []; var arr = new Array(); var arr = [1,2]; var arr = new Arr...
摘要:引用類型類型引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)據(jù)和功能聯(lián)系起來。 引用類型-Array類型 引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)據(jù)和功能聯(lián)系起來。 創(chuàng)建對象的方式: 1.new操作符 var array=new Array(); 2.字面量表示法創(chuàng)建 var array=[]; Array 檢測數(shù)組:檢測數(shù)組是基本類型還是引用類型 轉(zhuǎn)換方法:將數(shù)組轉(zhuǎn)換成字符串或數(shù)組對象 棧方法:后進(jìn)先...
摘要:屬性是一個(gè)值或一組值以數(shù)組或?qū)ο蟮男问?,是對象的成員。可以使用內(nèi)置構(gòu)造函數(shù)和創(chuàng)建包裝對象。因此下面的代碼將會使人很迷惑結(jié)果結(jié)果,此數(shù)組長度為應(yīng)該盡量避免使用數(shù)組構(gòu)造函數(shù)創(chuàng)建新數(shù)組。給數(shù)組對象添加返回?cái)?shù)組中最大元素值的方法。 對象部分 Object類型 Object 是一個(gè)無序的集合,可以存放任意類型對象,所有其他對象都繼承自這個(gè)對象。創(chuàng)建Object類型有兩種,一種是使用new運(yùn)算符,...
閱讀 2363·2021-11-15 11:37
閱讀 3048·2021-09-01 10:41
閱讀 882·2019-12-27 11:58
閱讀 803·2019-08-30 15:54
閱讀 776·2019-08-30 13:52
閱讀 2987·2019-08-29 12:22
閱讀 1137·2019-08-28 18:27
閱讀 1532·2019-08-26 18:42