国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

數(shù)組常用的12種方法

Lyux / 3334人閱讀

數(shù)組中的常用的12個(gè)方法:push、pop、unshift、shift、slice、splice、concat、reverse、sort、join、toString、indexOf。

首先我們要明確以下幾點(diǎn):

    1、方法是干啥用的;
    2、每種方法傳遞的參數(shù)有多少個(gè),每一個(gè)是什么樣的數(shù)據(jù)類型,每一個(gè)參數(shù)所代表的意思是什么?
    3、返回值類型,和代表的意思;
    4、重要的:通過此方法,原有的數(shù)組是否改變;

數(shù)組的這12個(gè)方法是面試時(shí)經(jīng)常會(huì)問到的內(nèi)容,大家可以按照以上四個(gè)維度來進(jìn)行記憶和學(xué)習(xí)。

(一)關(guān)于數(shù)組的增加、修改、刪除 push()
1、push()向數(shù)組末尾增加元素;
   參數(shù):不確定個(gè)數(shù),而且類型也不確定,要添加的新元素;
   返回:新增加后的數(shù)組長(zhǎng)度;
   原有數(shù)組改變;
   ![圖片描述][1]
   
   擴(kuò)展:不想使用push,也想向數(shù)組的末尾增加內(nèi)容
        ary[ary.length] = 10;
        即ary.splice(ary.length, 0, 10);     
unshift()
 2、unshift()向數(shù)組開頭增加元素
    參數(shù):不確定個(gè)數(shù),而且類型也不確定,要添加的新元素
    返回:新增加后的數(shù)組長(zhǎng)度
    原有數(shù)組改變
    ![圖片描述][2]
shift()
 3、shift()刪除數(shù)組第一個(gè)元素;
    返回值:刪除了的值;
    原有數(shù)組改變;
    ![圖片描述][3]
pop()
 4、pop()刪除數(shù)組最后一個(gè)元素
    返回值:刪除了的值;
    原有數(shù)組改變;
    ![圖片描述][4]
   
    擴(kuò)展:不用pop想刪除最后一項(xiàng)的內(nèi)容
        ary.length--;//ary.length-=1或者ary.length=ary.length-1
        即ary.splice(ary.length-1);
 
 【shift() 和 pop(),分別是指從一個(gè)數(shù)據(jù)中的最前面和最后面刪除一個(gè)值,并返刪除值。】
splice()
 5、splice():它既能實(shí)現(xiàn)刪除,也能實(shí)現(xiàn)增加,還能實(shí)現(xiàn)修改
    返回的是:刪除的項(xiàng)當(dāng)成新的數(shù)組返回;
    原有數(shù)組是改變的;

 [刪除]
 ary.splice(n,m)  從索引n開始,刪除m個(gè)元素,把刪除的內(nèi)容以一個(gè)新數(shù)組的方式返回,原來的數(shù)組改變
 ary.splice(n)    從索引n開始,刪除到數(shù)組的末尾
 ary.splice(0)    把原來的數(shù)組中每一項(xiàng)都刪除掉(清空數(shù)組每一項(xiàng)),把之前的每一項(xiàng)的值以一個(gè)新的數(shù)組返回(把之前的數(shù)組克隆了一份一模一樣的,這樣的克隆會(huì)修改原來的數(shù)組)
 ary.splice()     數(shù)組中一項(xiàng)都沒有刪除,返回的是一個(gè)空數(shù)組

 [修改]
 ary[2] = 340;    利用對(duì)象的操作的方式修改某一項(xiàng)的值
 splice(n,m,x)    從索引n開始,刪除m個(gè),用x替換刪除的部分,把刪除的內(nèi)容以一個(gè)新的數(shù)組返回,原來的數(shù)組改變

 [增加]
 splice(n,0,x)   從索引n開始,一個(gè)都不刪除(返回結(jié)果是一個(gè)空數(shù)組),把x增加到索引n的前面,原來的數(shù)組改變  
(二)關(guān)于數(shù)組的截取和拼接 slice()
1、slice():實(shí)現(xiàn)數(shù)組的截取,在原來的數(shù)組中截取某一部分
   slice(n,m)         從索引n開始,找到索引為m處(不包含m),將找到的部分已一個(gè)新的數(shù)組返回,原來的數(shù)組不變
   slice(n)           從索引n開始一直找到數(shù)組的末尾
   slice(0)/slice()   把原來的數(shù)組克隆一份一模一樣的新數(shù)組返回
   
   slice有幾種特殊的情況:
   n或者m為負(fù)數(shù)
   n>m
   n或者m已經(jīng)超出了整個(gè)數(shù)組的范圍
concat()
2)concat:把兩個(gè)數(shù)組拼接到一起,原來的數(shù)組不變
  ary1.concat(ary2)  把a(bǔ)ry2和ary1進(jìn)行拼接,ary2在后面
  ary1.concat()      把a(bǔ)ry1克隆一份一模一樣的數(shù)組
(三)把數(shù)組轉(zhuǎn)換為字符串 toString()
1)toString:把數(shù)組轉(zhuǎn)換為字符串,原來的數(shù)組不變
    var ary = [12, 23, 34, 45];
    var res = ary.toString();
    console.log(res);//->"12,23,34,45"
join()
2)join()為數(shù)組添加指定的分隔符
  參數(shù):可以有,可以是一個(gè)分割符(不寫默認(rèn)是",");
  返回:分割開后的字符串;
  原有數(shù)組不變;
    var ary = [12, 23, 34, 45];
    var res = ary.join("+");
    console.log(res);//->"12+23+34+45"

擴(kuò)展:eval->JS中把字符串變?yōu)镴S表達(dá)是執(zhí)行的一個(gè)方法
    console.log(eval("12+23+34+45"));//->114

    把數(shù)組中的每一項(xiàng)進(jìn)行相加求和
    var ary = [12, 23, 34, 45];
    console.log(eval(ary.join("+")));
(四)數(shù)組的排序和排列 reverse
1)reverse:把數(shù)組倒過來排列,原來的數(shù)組改變
sort
2)sort:給數(shù)組進(jìn)行排序,原有的數(shù)組會(huì)發(fā)生改變
  ary.sort() 這樣的話只能處理10以內(nèi)的數(shù)字進(jìn)行排序,因?yàn)樗前凑誙NICODE編碼的值進(jìn)行排序的
  ary.sort(function (a, b) {return a - b;}); 由小到大排序
  ary.sort(function (a, b) {return b - a;}); 由大到小排序
(五)只有在標(biāo)準(zhǔn)瀏覽器中兼容的方法,在IE6~8下不兼容的 indexOf / lastIndexOf
1)indexOf / lastIndexOf (字符串中也有這兩個(gè)方法,但是字符串的這兩個(gè)方法兼容所有的瀏覽器,而數(shù)組的這兩個(gè)方法是不兼容的)
 當(dāng)前內(nèi)容在數(shù)組中第一次/最后一次出現(xiàn)位置的索引,如果數(shù)組中沒有這一項(xiàng),返回的結(jié)果是-1,如果有這一項(xiàng),索引是幾就返回幾,原來的數(shù)組不變

 這樣的話我們就可以驗(yàn)證當(dāng)前的內(nèi)容在數(shù)組中是否存在了
    var ary = [12, 34, 230, 54, 34, 25];
    if (ary.indexOf("數(shù)組") > -1) {
        //說明"數(shù)組"在數(shù)組中存在
    } else {
        //說明"數(shù)組"在數(shù)組中不存在
    }
forEach
2)forEach / map 都是用來遍歷數(shù)組中的每一項(xiàng)的
  forEach:數(shù)組中有幾項(xiàng),我們的函數(shù)就執(zhí)行幾次;
  函數(shù)中的形參:item->當(dāng)前遍歷的數(shù)組中這一項(xiàng)的值 index->當(dāng)前這一項(xiàng)的索引
  原來的數(shù)組不變
    ary.forEach(function (item, index) {
        console.log(item, index);
    });
map
3)map和forEach的語(yǔ)法是一樣的,但是比forEach多加了一個(gè)把原來內(nèi)容進(jìn)行替換的功能
  原來數(shù)組不變
  返回的新數(shù)組是每一項(xiàng)都乘以了10
    var newAry = ary.map(function (item, index) {
        return item * 10;
    });
    console.log(newAry);//->[120, 340, 2300, 540, 340, 250]
(六)更多的數(shù)組方法: Array.prototype
 var ary = [12, 34, 230, 54, 34, 25];
 console.dir(Array.prototype);

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/78930.html

相關(guān)文章

  • JavaScript數(shù)組去重(12方法,史上最全)

    摘要:數(shù)組去重,一般都是在面試的時(shí)候才會(huì)碰到,一般是要求手寫數(shù)組去重方法的代碼。如果是被提問到,數(shù)組去重的方法有哪些你能答出其中的種,面試官很有可能對(duì)你刮目相看。數(shù)組去重的方法一利用去重中最常用不考慮兼容性,這種去重的方法代碼最少。 數(shù)組去重,一般都是在面試的時(shí)候才會(huì)碰到,一般是要求手寫數(shù)組去重方法的代碼。如果是被提問到,數(shù)組去重的方法有哪些?你能答出其中的10種,面試官很有可能對(duì)你刮目相看...

    rozbo 評(píng)論0 收藏0
  • JavaScript數(shù)組——常用數(shù)組方法匯總

    摘要:本文記錄關(guān)于數(shù)組的一些常用方法,搜集總結(jié)。對(duì)于數(shù)組中的每個(gè)元素,都會(huì)調(diào)用函數(shù)一次。返回值是一個(gè)新數(shù)組,其中的每個(gè)元素均為關(guān)聯(lián)的原始數(shù)組元素的回調(diào)函數(shù)返回值。 本文記錄關(guān)于js數(shù)組的一些常用方法,搜集總結(jié)。 主要思路: 1. 方法功能是什么 2. 傳遞的參數(shù)是什么 3. 返回值是什么 4. 原來的數(shù)組是否改變 第一組:關(guān)于數(shù)組的增加、刪除和修改 1.push 向數(shù)組末尾增加新的...

    HollisChuang 評(píng)論0 收藏0
  • 【連載】前端個(gè)人文章整理-從基礎(chǔ)到入門

    摘要:個(gè)人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現(xiàn)在已經(jīng)一年的時(shí)間了,由于工作比較忙,更新緩慢,后面還是會(huì)繼更新,現(xiàn)將已經(jīng)寫好的文章整理一個(gè)目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個(gè)人前端文章整理 從最開始萌生寫文章的想法,到著手...

    madthumb 評(píng)論0 收藏0
  • 『總結(jié)』JS常用方法與片段

    摘要:元素是通過指定的分隔符進(jìn)行分隔的。返回值一個(gè)字符串?dāng)?shù)組,執(zhí)行的操作與執(zhí)行的操作是相反的。返回值與沒有參數(shù)的方法返回的字符串相同。 1.javascript刪除元素節(jié)點(diǎn) IE中有這樣一個(gè)方法:removeNode(),這個(gè)方法在IE下是好使的,但是在Firefox等標(biāo)準(zhǔn)瀏覽器中就會(huì)報(bào)錯(cuò)了 removeNode is not defined,但是在核心JS中有一個(gè)操作DOM節(jié)點(diǎn)的方法叫:r...

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

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

0條評(píng)論

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