摘要:例如會(huì)刪除當(dāng)前數(shù)組位置的項(xiàng),然后再?gòu)奈恢瞄_始插入字符串。對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),返回該函數(shù)會(huì)返回的項(xiàng)組成的數(shù)組。則從數(shù)組的最后一項(xiàng)開始,向前遍歷到第一項(xiàng)。
1、隊(duì)尾插入push
var colors = ["red","green"]; colors.push("black"): console.log(colors); //["red","green","black"]
2、隊(duì)尾刪除并返回刪除的最后一項(xiàng)pop
var colors = ["red","green","black"]; var item = colors.pop(); console.log(item); //"black"
3、隊(duì)首插入unshift()
var colors = ["red","green"]; colors.unshift("black"); var item = colors.pop(); console.log(item); //"black"
4、隊(duì)首刪除shift()
var colors = ["red","green","black"]; colors.shift(); console.log(colors); //["green","black"]
5、數(shù)組一添加數(shù)組二concat()
var colors = ["red","green","black"]; var colors2 = colors.concat("yellow",["blue","brown"]); console.log(colors); //["red","green","black"] console.log(colors2); //["red","green","black","yellow","blue","brown"]
6、數(shù)組的截取slice()
只傳一個(gè)參數(shù):從數(shù)組這個(gè)參數(shù)的下標(biāo)開始截取一直到數(shù)組結(jié)束。
var colors = ["red","green","black"]; colors.slice(1); //["green","black"] console.log(colors); //["red","green","black"]
傳兩個(gè)參數(shù):第一個(gè)是截取開始的位置,第二個(gè)是截取結(jié)束的位置
var colors = ["red","green","black","yellow","blue","brown"]; colors.slice(1,3)//從位置1開始,到位置2結(jié)束["green","black"];
7、數(shù)組的splice()方法
有三種用法:
刪除:可以刪除任意數(shù)量的項(xiàng),只需指定兩個(gè)參數(shù):第一個(gè)參數(shù)為刪除開始的位置,第二個(gè)參數(shù)為刪除項(xiàng)數(shù)。
插入:可以向指定位置插入任意數(shù)量的項(xiàng),只需提供3個(gè)參數(shù):起始位置、0(要?jiǎng)h除的項(xiàng)數(shù))和要插入的項(xiàng)。例如:splice(2,0,"red","green"),會(huì)從當(dāng)前數(shù)組的位置2開始插入字符串"red"和"green"。
替換: 可以向指定位置插入任意數(shù)量的項(xiàng),且同事刪除任意數(shù)量的項(xiàng),只需提供3個(gè)參數(shù):起始位置、要?jiǎng)h除的項(xiàng)數(shù)和要插入的任意數(shù)量的項(xiàng)。插入的項(xiàng)數(shù)不必與刪除項(xiàng)數(shù)相等。例如:splice (2,1,"red","green") 會(huì)刪除當(dāng)前數(shù)組位置2的項(xiàng),然后再?gòu)奈恢?開始插入字符串。
var colors = ["red","green","black"]; var removed = colors.splice(0,1); console.log(colors); //["green","black"] console.log(removed); //["red"] removed = colors.splice(1,0,"yellow","orange"); console.log(colors); //["green","yellow","orange","black"] console.log(removed); //[] removed = colors.splice(1,1,"red","purple"); console.log(colors); //["green","red","purple","orange","black"] console.log(removed); //["yellow"]
8、位置方法indexOf()和lastIndexOf()
indexOf()和lastIndexOf()都接收兩個(gè)參數(shù),第一個(gè)參數(shù)是要查找的項(xiàng),第二個(gè)(可選)查找開始的位置,indexOf()是從數(shù)組頭開始查,lastIndexOf()是從數(shù)組尾開始查找。
var numbers = [1,2,3,4,5,4,3,2,1]; console.log(numbers.indexOf(4)); //3 console.log(numbers.lastIndexOf(4)); //5 console.log(numbers.indexOf(4,4)); //5 var person = {name: "vivi"}; var people = [{name: "vivi"}]; var morePeople = [person]; console.log(people.indexOf(person)); //-1 console.log(morePeople.indexOf(person)); //0
9、查找find()方法
查找符合條件的第一項(xiàng)
var inventory = [ {name: "apples", quantity: 2}, {name: "bananas", quantity: 0}, {name: "cherries", quantity: 5} ]; const inventorItem = inventory.find((item) => item.name === "apples"); console.log(inventorItem); //{name: "apples", quantity: 2}
10、迭代方法
傳入這些方法中的函數(shù)會(huì)接收三個(gè)參數(shù):數(shù)組項(xiàng)的值、該項(xiàng)在數(shù)組中的位置和數(shù)組對(duì)象本身。
every(): 對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對(duì)每一項(xiàng)都返回true,則返回true。
filter(): 對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),返回該函數(shù)會(huì)返回true的項(xiàng)組成的數(shù)組。
forEach(): 對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),這個(gè)方法沒(méi)有返回值。
map(): 對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組。
some(): 對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對(duì)任一項(xiàng)返回true,則返回true。
var numbers = [1,2,3,4,5,4,3,2,1]; var everyResult = numbers.every((item, index, array) => { return item > 2; }); console.log(everyResult); //false var someResult = numbers.some((item, index, array) => { return item > 2; }); console.log(someResult); //true
var numbers = [1,2,3,4,5,4,3,2,1]; var filterResult = numbers.filter((item, index, array) => { return item > 2; }); console.log(filterResult); //[3,4,5,4,3]
var numbers = [1,2,3,4,5,4,3,2,1]; var mapResult = numbers.map((item, index, array) => { return item * 2; }); console.log(mapResult); //[2,4,6,8,10,8,6,4,2]
var numbers = [1,2,3,4,5,4,3,2,1]; numbers.forEach((item, index, array) => { //執(zhí)行某些操作 });
11、歸并方法reduce()和reduceRight()
這兩個(gè)方法都會(huì)迭代數(shù)組的所有項(xiàng),然后構(gòu)建一個(gè)最終返回的值。 reduce()方法從數(shù)組的第一項(xiàng)開始,逐個(gè)遍歷到最后。 reduceRight()則從數(shù)組的最后一項(xiàng)開始,向前遍歷到第一項(xiàng)。
var values = [1,2,3,4,5]; var sum = values.reduce((prev, cur, index, array) => { return prev + cur; }); console.log(sum); //15
var values = [1,2,3,4,5]; var sum = values.reduceRight((prev, cur, index, array) => { return prev + cur; }); console.log(sum); //15
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96304.html
摘要:在為的位置,刪除個(gè)元素,插入刪了為的元素,替換為刪了為的元素?cái)?shù)組的增刪改都可以用完成返回從原數(shù)組中指定開始下標(biāo)到結(jié)束下標(biāo)之間的項(xiàng)組成的新數(shù)組該方法不會(huì)改變?cè)紨?shù)組。不傳值表示克隆了除了正常用法,經(jīng)常用來(lái)將對(duì)象轉(zhuǎn)換為。 js 中數(shù)組的常用方法總結(jié) arr.fill(a);//所有子元素 都改為 a; [{a: 1},{b: 2}, ...Array(8).fill({}, 0)] //...
摘要:返回?cái)?shù)組內(nèi)容的字符串表示形式將數(shù)組中每個(gè)元素轉(zhuǎn)為字符串,并用逗號(hào)連接。拍照連接符將數(shù)組中每個(gè)元素轉(zhuǎn)為字符串,用自定義的連接符連接每個(gè)元素需要用變量借助。 關(guān)于數(shù)組篇的記錄,純自己總結(jié),會(huì)持續(xù)更新~ 原生js方法 1:創(chuàng)建數(shù)組的幾種方法: var arr = []; var arr = new Array(); var arr = [1,2]; var arr = new Arr...
摘要:第一種常規(guī)法最直觀的思路創(chuàng)建一個(gè)新數(shù)組如果新數(shù)組中已經(jīng)包含了當(dāng)前的第個(gè)元素,那么跳過(guò)否則把當(dāng)前項(xiàng)到新數(shù)組中輸出這種方法用到了方法。特殊情況當(dāng)數(shù)組中既有數(shù)字又有字符串的時(shí)候,如此時(shí)希望和都保留,那么上述的方法無(wú)法達(dá)到要求。 第一種:常規(guī)法(最直觀的思路) function unique(arr){ var n = []; //創(chuàng)建一個(gè)新數(shù)組 for(var i = 0; ...
摘要:注方法可以返回某個(gè)指定字符串在字符串中首次出現(xiàn)的位置比如首次出現(xiàn)的位置是數(shù)組中的第一個(gè),即下標(biāo)為遍歷數(shù)組使用標(biāo)識(shí)符去重聲明一個(gè)變量標(biāo)識(shí)排序后遍歷過(guò)濾數(shù)組思路先給數(shù)組排序,這樣相同的項(xiàng)總是相鄰。 假設(shè)我們有數(shù)組arr,并且聲明新數(shù)組hash用來(lái)存放去重后的元素: var arr = [23,44,5,2,23,5,1,7,8,7]; //包含重復(fù)元素 var hash= [];...
摘要:數(shù)組去重,一般會(huì)在面試的時(shí)候才會(huì)碰到,要求手寫數(shù)組去重方法的代碼。在實(shí)際項(xiàng)目中碰到的數(shù)組去重,一般都是后臺(tái)去處理,很少讓前端處理數(shù)組去重。數(shù)組去重的方法一利用去重中最常用如果不考慮兼容性,這種去重的方法代碼最少。 數(shù)組去重,一般會(huì)在面試的時(shí)候才會(huì)碰到,要求手寫數(shù)組去重方法的代碼。如果是被提問(wèn)到,數(shù)組去重的方法有哪些?你能答出其中的10種,面試官很有可能對(duì)你刮目相看。 在實(shí)際項(xiàng)目中碰到的...
閱讀 3081·2021-11-24 11:14
閱讀 3525·2021-11-22 15:22
閱讀 3215·2021-09-27 13:36
閱讀 726·2021-08-31 14:29
閱讀 1335·2019-08-30 15:55
閱讀 1768·2019-08-29 17:29
閱讀 1153·2019-08-29 16:24
閱讀 2417·2019-08-26 13:48