摘要:今天就來梳理一下常用的數(shù)組方法基礎(chǔ)幾種基礎(chǔ)的就簡單介紹一下創(chuàng)建數(shù)組括號可以傳參,指定數(shù)組長度。返回值對數(shù)組的引用。如果數(shù)組是空的,那么方法將不進行任何操作,返回值。注用于字符串操作時,會調(diào)用這一方法將數(shù)組自動轉(zhuǎn)換成字符串。
前言
在js中,數(shù)組作為一個特殊的對象。是我們常用的數(shù)據(jù)格式。今天就來梳理一下常用的數(shù)組方法.
1.基礎(chǔ)幾種基礎(chǔ)的就簡單介紹一下:
創(chuàng)建數(shù)組
var arr1 = new Array(); //括號可以傳參,指定數(shù)組長度。目前arr1.length是0 var arr2 = new Array(3);//arr2.length是3 var arr3 = new Array(1,2,3,4); //當(dāng)傳多個參數(shù)時,js會把這些參數(shù)作為數(shù)組的初始值。 console.log(arr3); // [1,2,3,4]
new Array()創(chuàng)建數(shù)組有一個需要注意的地方。只傳一個參數(shù)時,如果這個值是非數(shù)字。會被當(dāng)做數(shù)組的第一個參數(shù),生成一個長度為1的數(shù)組。如果是數(shù)字,就會創(chuàng)建一個這個數(shù)字長度的空數(shù)組。
但其實上面的創(chuàng)建方法不常用。我們更習(xí)慣這么寫
var arr = []; var arr = [0,1,2,3]
基礎(chǔ)方法
arr.length //數(shù)組的長度 arr[1] //數(shù)組下標(biāo)是1的值。數(shù)組的下標(biāo)從0開始計數(shù) arr.push(值) //往數(shù)組添加元素2.其它方法
var arr = ["element1","element2","element3","element4"]; //下面所有案列都是用的這個數(shù)組 //獲取指定元素的下標(biāo) var index = arr. indexOf(”element2“); // 1(1)splice(index,number,item1,.....,itemX)從數(shù)組中添加/刪除元素,然后返回被刪除的元素。
參數(shù) | 描述 |
---|---|
index | 必需。整數(shù)。添加/刪除項目的位置,使用負數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。 |
number | 必需。要刪除的項目數(shù)量。如果設(shè)置為 0,則不會刪除項目。 |
item1, ..., itemX | 可選。向數(shù)組添加的新項目。 |
來看實際例子
//刪除 let getReturn = arr.splice(1,1); console.log(getReturn); // ["element2"] console.log(arr); //["element1",","element3","element4"] //添加 let getReturn = arr.splice(arr.length,0,"element5","element6"); console.log(getReturn); //[] console.log(arr); //["element1","element2","element3","element4","element5","element6"](2)pop()方法,刪除數(shù)組最后一位,返回被刪除的元素。
let getReturn = arr.pop(); console.log(getReturn); //element4 console.log(arr); //["element1","element2","element3"](3)slice(start,end) 從已有的數(shù)組中返回選定的元素。
參數(shù) | 描述 |
---|---|
start | 必需。整數(shù)。添加/刪除項目的位置,使用負數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。 |
end | 必需。要刪除的項目數(shù)量。如果設(shè)置為 0,則不會刪除項目。 |
注意:請注意,該方法并不會修改數(shù)組,而是返回一個子數(shù)組。如果想刪除數(shù)組中的一段元素,應(yīng)該使用方法 Array.splice()。
let getReturn = arr.slice(1,3); console.log(getReturn); //["element2", "element3"] console.log(arr); //["element1", "element2", "element3", "element4"]
另外,slice()方法也可以實現(xiàn)深拷貝哦。
let copyArr = arr.slice(); //不傳值 copyArr[0] = "newElement"; console.log(arr); //["element1", "element2", "element3", "element4"] console.log(copyArr); //["newElement", "element2", "element3", "element4"](4)join(separator)把數(shù)組中的所有元素放入一個字符串。
separator:可選。指定要使用的分隔符。如果省略該參數(shù),則使用逗號作為分隔符。
let getReturn = arr.join(); console.log(getReturn); //element1,element2,element3,element4 console.log(arr); //["element1", "element2", "element3", "element4"](5)concat(array1,array2,......,arrayX) 方法用于連接兩個或多個數(shù)組。
arrayX:必需。該參數(shù)可以是具體的值,也可以是數(shù)組對象。可以是任意多個。
//傳數(shù)組 let getReturn = arr.concat(["element5","element6"],["element7"]); console.log(getReturn); //["element1", "element2", "element3", "element4", "element5", "element6", "element7"] console.log(arr); //?["element1", "element2", "element3", "element4"] //傳元素 let getReturn = arr.concat("element5","element6"); console.log(getReturn); //["element1", "element2", "element3", "element4", "element5", "element6"] console.log(arr); //["element1", "element2", "element3", "element4"](6)sort(sortby) 方法用于對數(shù)組的元素進行排序。
sortby:可選。規(guī)定排序順序。必須是函數(shù)。
返回值:對數(shù)組的引用。請注意,數(shù)組在原數(shù)組上進行排序,不生成新數(shù)組。
比較規(guī)則:是按照字符編碼進行排序,所以可能只有排出來的不是你想要的結(jié)果,得傳參數(shù)解決
let newArr = [3,5,2,4,1]; let getReturn = newArr.sort(); console.log(getReturn); //[1, 2, 3, 4, 5] console.log(newArr); //[1, 2, 3, 4, 5]
再看一個不如我們所愿的例子
let newArr = [1000,88,93,6,34]; let getReturn = newArr.sort(); console.log(getReturn); //[1000, 34, 6, 88, 93] console.log(newArr); //?[1000, 34, 6, 88, 93] //要實現(xiàn)大小排序,我們需要傳參數(shù)解決 function sortNumber(a,b){ //定義函數(shù) return a - b } let getReturn = newArr.sort(sortNumber); console.log(getReturn); //[6, 34, 88, 93, 1000] console.log(newArr); //[6, 34, 88, 93, 1000](7)shift() 方法用于把數(shù)組的第一個元素從其中刪除,并返回第一個元素的值。
如果數(shù)組是空的,那么 shift() 方法將不進行任何操作,返回 undefined 值。
let getReturn = arr.shift(); console.log(getReturn); //element1 console.log(arr); //["element2","element3","element4"](8)unshift() 方法可向數(shù)組的開頭添加一個或更多元素,并返回新的長度。
arr.unshift(newelement1,newelement2,....,newelementX)
let getReturn = arr.unshift("element-1","element0"); console.log(getReturn); //6 console.log(arr); //["element-1","element0","element1","element2","element3","element4"](9)toString() 方法可把數(shù)組轉(zhuǎn)換為字符串,并返回結(jié)果。
arr.unshift(newelement1,newelement2,....,newelementX)
let getReturn = arr.toString(); console.log(getReturn,typeof getReturn); //element1,element2,element3,element4 string console.log(arr,typeof arr); //["element1", "element2", "element3", "element4"] "object"
注:用于字符串操作時,JavaScript 會調(diào)用這一方法將數(shù)組自動轉(zhuǎn)換成字符串。例如:
let string = arr+"123"; console.log(string); //element1,element2,element3,element4123(10)reverse() 方法用于顛倒數(shù)組中元素的順序。
該方法會改變原來的數(shù)組,而不會創(chuàng)建新的數(shù)組。
let getReturn = arr.reverse(); console.log(getReturn); //["element4", "element3", "element2", "element1"] console.log(arr); //["element4", "element3", "element2", "element1"]3.還有
此外,還有valueOf(),toLocaleString(),toSource()方法。但是從來沒用過,也沒想到什么使用場景,就不多帶帶講了。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/99084.html
摘要:的一些方法在實際中很常用,這里整理記錄下來,一是為了常常回顧,二也是方便大家返回一個新的,每個元素為調(diào)用的結(jié)果語法舉例返回一個符合條件的元素數(shù)組語法舉例返回一個,判斷是否有元素是否符合條件語法舉例返回一個,判斷每個元素是否符合條件語法舉例沒 JS Array的一些方法在實際中很常用,這里整理記錄下來,一是為了常?;仡櫍彩欠奖愦蠹?Map map(): 返回一個新的Array,每個元...
摘要:前言上周二在阿里暑期實習(xí)的前端筆試那里打了個醬油。當(dāng)不存在時,將會創(chuàng)建它。要求單擊該元素后,提示用戶用戶名不能為空。要求內(nèi)邊框?qū)挾葹?,無外邊框。要求在前端實現(xiàn)一個根據(jù)一批員工,通過查詢員工信息的功能。其實是考察的內(nèi)容。 前言 上周二在阿里暑期實習(xí)的前端筆試那里打了個醬油。題目說實話都很基礎(chǔ),但如果之前沒有專門寫過類似的東西,現(xiàn)想現(xiàn)寫的話,一個小時壓力還是有些大的(當(dāng)然了,大神除外)。...
摘要:前言上周二在阿里暑期實習(xí)的前端筆試那里打了個醬油。當(dāng)不存在時,將會創(chuàng)建它。要求單擊該元素后,提示用戶用戶名不能為空。要求內(nèi)邊框?qū)挾葹?,無外邊框。要求在前端實現(xiàn)一個根據(jù)一批員工,通過查詢員工信息的功能。其實是考察的內(nèi)容。 前言 上周二在阿里暑期實習(xí)的前端筆試那里打了個醬油。題目說實話都很基礎(chǔ),但如果之前沒有專門寫過類似的東西,現(xiàn)想現(xiàn)寫的話,一個小時壓力還是有些大的(當(dāng)然了,大神除外)。...
摘要:例如允許的對象默認(rèn)情況下,通過使用內(nèi)置宏將核心對象和方法映射到。例如這被轉(zhuǎn)換為以下代碼類可以定義構(gòu)造函數(shù),具有超類,并且可以像在中一樣實例化。因此,它不違反原則。用于聲明該對象可以用作構(gòu)造函數(shù)。 這個工具可以將java代碼轉(zhuǎn)為js代碼,從而可以使用java編寫前端代碼 如果排版看著費勁可以下載下方html,打開html后使用google翻譯 JSweet語言規(guī)范版本:2.x(快照) 作...
摘要:例如允許的對象默認(rèn)情況下,通過使用內(nèi)置宏將核心對象和方法映射到。例如這被轉(zhuǎn)換為以下代碼類可以定義構(gòu)造函數(shù),具有超類,并且可以像在中一樣實例化。因此,它不違反原則。用于聲明該對象可以用作構(gòu)造函數(shù)。 這個工具可以將java代碼轉(zhuǎn)為js代碼,從而可以使用java編寫前端代碼 如果排版看著費勁可以下載下方html,打開html后使用google翻譯 JSweet語言規(guī)范版本:2.x(快照) 作...
閱讀 3714·2021-11-11 11:00
閱讀 2190·2021-10-08 10:05
閱讀 2704·2021-10-08 10:04
閱讀 3218·2021-09-30 09:48
閱讀 3801·2021-09-27 14:10
閱讀 1710·2021-09-09 09:33
閱讀 2106·2019-08-30 15:55
閱讀 1611·2019-08-30 13:53