成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

js數(shù)組方法的總結(jié)

lufficc / 3028人閱讀

摘要:例如會(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

相關(guān)文章

  • js數(shù)組常用方法總結(jié)

    摘要:在為的位置,刪除個(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)] //...

    luckyw 評(píng)論0 收藏0
  • JS】JavaScript數(shù)組以及數(shù)組API學(xué)習(xí)總結(jié)

    摘要:返回?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...

    roundstones 評(píng)論0 收藏0
  • JS數(shù)組去重方法總結(jié)

    摘要:第一種常規(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; ...

    Aldous 評(píng)論0 收藏0
  • js數(shù)組去重方法總結(jié)

    摘要:注方法可以返回某個(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= [];...

    snowLu 評(píng)論0 收藏0
  • JS數(shù)組去重總結(jié)

    摘要:數(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)目中碰到的...

    whinc 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<