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