亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

js數(shù)組學(xué)習(xí)

lentoo / 2346人閱讀

摘要:將數(shù)組中每個元素轉(zhuǎn)化為字符串,并用值銜接起來作用銜接數(shù)組參數(shù)可以是一個元素或一個數(shù)組數(shù)組取的是元素返回值一個銜接的新數(shù)組。負(fù)數(shù)從數(shù)組尾部開始計算,表示最后一位,表示倒數(shù)第二位返回值到之間的新數(shù)組。

本文是對數(shù)組的常規(guī)方法做一個記錄。

數(shù)組的基本方法除concat、slice外都會對原數(shù)組進(jìn)行修改

數(shù)組的創(chuàng)建
    var arr = new Array(12);// 創(chuàng)建一個長度為12的數(shù)組,值為undefined
    var arr1 = new Array(1,2,3); 
    var arr2 = [1,2,3]; //arr1=arr2
length

數(shù)組的長度可以讀取,也可設(shè)置

var arr = [1,2,3];
arr.length;  //3
arr.length=0; //[]
Array.indexOf("value",index)

作用:在數(shù)組中查找給定元素(從左往右找)
參數(shù):value-要查找的值;index-從第index位開始查找;index省略從頭開始搜索,負(fù)數(shù)代表相對數(shù)組末尾的偏移量
返回值:找到,返回第一個匹配元素的索引;沒有找到返回-1

    var arr=[1,2,3,4,2,3];
    arr.indexOf();//=>-1
    arr.indexOf(2,1);//=>1
    arr.indexOf(2,7);//=>-1
    arr.indexOf(5);//=>-1
    arr.indexOf(2,-2);//=>4
    arr.indexOf(2,-6);//=>1 負(fù)數(shù)超出范圍都找的1
    arr.indexOf(2,-11);//=>1 從第-5位往右找

查找數(shù)組中所有的x,并返回其下標(biāo)


function findAll(x,arr){
    var i=0;
    var results=[];
    while(arr.indexOf(x,i) != -1){
        results.push(arr.indexOf(x,i));
        i = arr.indexOf(x,i)+x.length;
    }
    return results;
}
Array.lastIndexOf("value",index)

作用:在數(shù)組中查找給定元素(從右往左找)
參數(shù):value-要查找的值;index-從第index位開始查找;index省略從尾開始搜索,負(fù)數(shù)代表相對數(shù)組末尾的偏移量
返回值:找到,返回第一個匹配元素的索引;沒有找到返回-1

    var arr=[1,2,3,4,2,3];
    arr.lastIndexOf();//=>-1
    arr.lastIndexOf(2,1);//=>1
    arr.lastIndexOf(2,0);//=>-1
    arr.lastIndexOf(2,7);//=>4 正數(shù)超出范圍都找的是4
    arr.lastIndexOf(2,-2);//=>4 從第4位往左找
    arr.lastIndexOf(2,-6);//=>-1 從第0位往左找
    arr.lastIndexOf(2,-11);//=>-1 從第-5位往左找
Array.join("value")

作用:將數(shù)組轉(zhuǎn)為字符串
參數(shù):value-數(shù)組元素間連接符;省略時默認(rèn)為(,)
返回值:一個字符串。將數(shù)組中每個元素轉(zhuǎn)化為字符串,并用value值銜接起來

    var arr=[1,2,3];
    arr.join();//=>"1,2,3"
    arr.join("");//=>"123"
    var arr1=new Array(3);
    arr1.join("-"); //=>"--"
Array.concat("value")

作用:銜接數(shù)組
參數(shù):value-可以是一個元素或一個數(shù)組(數(shù)組取的是元素)
返回值:一個銜接value的新數(shù)組。不會修改調(diào)用的數(shù)組

    var arr=[1,2,3];
    arr.concat(4,5);//=>[1,2,3,4,5]
    arr.concat([4,5]);//=>[1,2,3,4,5]
    arr.concat([4,[5,[6,7]]]);//=>[1,2,3,4,[5,[6,7]]]
Array.push()、Array.pop()、Array.shift()、Array.unshift()

作用: 1.添加元素: 返回新數(shù)組長度

push:數(shù)組末尾添加元素;
unshift:數(shù)組開頭添加元素;一次性插入

2.刪除元素: 返回刪除的數(shù)據(jù)

pop:刪除數(shù)組最后一個元素;
shift:刪除數(shù)組第一個元素;
    var arr=[1,2,3];
    arr.push([4,5]);//=>[1,2,3,[4,5]]  返回4
    arr.shift();//=>[2,3,[4,5]]  返回1
Array.slice(start,end)

作用:返回數(shù)組一部分
參數(shù):start-開始序號,end-結(jié)束序號。end省略默認(rèn)到最后一位。負(fù)數(shù)從數(shù)組尾部開始計算,-1表示最后一位,-2表示倒數(shù)第二位
返回值:start到end之間的新數(shù)組[start,end)。不會修改調(diào)用的數(shù)組

    var arr=[1,2,3,4,5];
    arr.slice(0,3);//=>[1,2,3]
    arr.slice(3);//=>[4]
    arr.slice(1,-1);//=>[2,3,4]
    arr.slice(-3,-2);//=>[3]
    arr.slice(-8,3);//=>[1,2,3]
    arr.slice(3,0);//=>[]  截取不到返回空數(shù)組,從小到大,不交換
Array.splice(start,deleteCount,value,...)

作用:添加、刪除和替換數(shù)組元素
參數(shù):start-數(shù)組元素序號

  deleteCount-要刪除元素的個數(shù)
  value-要插入數(shù)組中的0個或多個值

返回值:刪除元素返回包含刪除元素的新數(shù)組;添加或替換返回空數(shù)組

    var arr=[1,2,3,4,5,6,7,8];
    arr.splice(4);//=>返回[5,6,7,8]a為[1,2,3,4]
    arr.splice(1,0,2,3);//=>返回[] a為[1,2,3,2,3,4]
    arr.splice(1,1,5);//=>返回[2] a為[1,5,3,2,3,4]
Array.sort(orderfunc)

作用:對數(shù)組元素排序
參數(shù):可選函數(shù)。不帶參數(shù)按字符編碼排序

    arr.sort(function(a,b){
        return a-b; //從小到大
        //return b-a; 從大到小
       // return Math.random()-0.5; 隨機(jī)排序
    })
Array.reverse()

作用:顛倒數(shù)組元素,逆序

   var arr=[1,2,3];
   arr.reverse(); //[3,2,1]
Array.toString()

作用:將數(shù)組轉(zhuǎn)為字符串,與join不傳參數(shù)一樣
參數(shù):可選函數(shù)。不帶參數(shù)按字符編碼排序

   [1,2,3].toString(); //"1,2,3"
   [1,[2,"c"]].toString(); //"1,2,c"
ES5中數(shù)組方法

均不會改變原數(shù)組

Array.forEach()

作用:遍歷數(shù)組,為每個元素調(diào)用指定函數(shù)
注意:forEach不能在所有元素傳遞給函數(shù)前終止遍歷

   var arr=[1,2,3]; 
   arr.forEach(function(item,index,arr){
        arr[index] = item+1;
   })
   arr=>[2,3,4]
Array.map()

作用:將數(shù)組每個元素傳遞給用指定函數(shù)
注意:傳遞給map的函數(shù)應(yīng)有返回值,不修改原數(shù)組,返回的是新數(shù)組

   var arr=[1,2,3]; 
   b=arr.map(function(item,index,arr){
        return x*x;
   })  //[1,4,9]
Array.filter()

作用:返回過濾后數(shù)組的一部分

    刪除數(shù)組中undefined和null
    a = a.filter(function(item){
        return item!==undefined && item!==null;
    })
Array.every()

作用:對數(shù)組元素應(yīng)用指定函數(shù)進(jìn)行檢測
返回值:所有元素均滿足條件,返回true;否則false
注意:every和some一旦能確認(rèn)返回什么值,就會停止遍歷

    var arr = [1,2,3]
    arr.every(function(item){
        return item<5;
    }) //true
Array.some()

作用:對數(shù)組元素應(yīng)用指定函數(shù)進(jìn)行檢測
返回值:有一個元素滿足條件,返回true
注意:空數(shù)組,調(diào)用every()返回true;調(diào)用some返回false

Array.reduce(fn,value)

作用:使用指定函數(shù)將數(shù)組進(jìn)行組合,返回一個值(從左往右)
參數(shù):fn-指定函數(shù),value-傳遞給函數(shù)的初值
一個參數(shù):

第一次的兩個值分別為數(shù)組的第一、二個元素,其結(jié)果作為第二次的第一個值

兩個參數(shù):

第一次的值為value和數(shù)組第一個元素,其結(jié)果作為第二次的第一個值

    var arr = [1,2,3,4,5]
    var sum = arr.reduce(function(prev,cur,index,arr){
        return prev+cur;
    },0)
    var max = arr.reduce(function(x,y){
    return (x>y)?x:y;
    })
Array.reduceRight(fn,value)

作用:使用指定函數(shù)將數(shù)組進(jìn)行組合,返回一個值(從右往左)

ES6對數(shù)組方法的擴(kuò)展()

參考http://es6.ruanyifeng.com/#do...

Array.form(arr,fn)

作用:將類數(shù)組對象和可遍歷對象轉(zhuǎn)為真正的數(shù)組。如nodeList、argument等
參數(shù):arr為類數(shù)組或集合,fn函數(shù)作用類似map方法
注意:只要部署了Iterator接口的數(shù)據(jù)結(jié)構(gòu),都能將其轉(zhuǎn)為數(shù)組。字符串和set結(jié)構(gòu)都可以轉(zhuǎn)為數(shù)組

   let arrLike={
    "0":"a",
    "1":"b",
    "2":"c",
    length:3
   }
   var arr1=[].slice.call(arrLike); //es5
   var arr2=Array.from(arrLike);
   Array.form([1,2,3],(x)=>x*x) //[1,4,9]
   Array.form("abc"); //["a","b","c"]
Array.of(value)

作用:將一組值轉(zhuǎn)為數(shù)組,彌補(bǔ)Array()因參數(shù)的個數(shù)不同結(jié)果不同的不足

  Array(3) //[,,,]  Array.of(3) //[3]
  Array() //[]  Array.of() //[]
Array.fill(value,start,end)

作用:使用給定的value,填充一個數(shù)組
參數(shù):value要填充的值,start-end從start到end進(jìn)行填充

 [1,2,3].fill(5); //[5,5,5]
 [1,2,3].fill(4,1,2); //[1,4,3]
數(shù)組檢測

使用typeOf可以完成對基本數(shù)據(jù)類型的檢測,對數(shù)組的檢測可以使用以下方法:

1、Array.isArray([]) =>true

2、[] instanceOf Array =>true

instanceOf問題:web瀏覽器可能右多個窗口或frame,每個窗口都有自己的JavaScript環(huán)境,有自己的全局對象。每個全局對象有自己的構(gòu)造函數(shù),因此一個窗體中的對象不可能是另一個窗口的構(gòu)造函數(shù)實(shí)例, 因此該方法存在一定的問題

3、Object.prototype.toString.call([]) == "[object Array]"; =>true

call()和apply()都可以間接地調(diào)用函數(shù),并顯式地修改this值。任何函數(shù)都可以作為任何對象的方法來調(diào)用,哪怕這個函數(shù)不是那個對象的方法。如:

    Array.join = Array.join || function(a,sep){
        return Array.prototype.join.call(a,sep);
    }
    Array.prototype.join.call("abc","-"); //a-b-c

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

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/86524.html

相關(guān)文章

  • 那些年,前端學(xué)習(xí)之路的疑難雜癥(三):數(shù)組和Date的一些梳理

    摘要:將指定的數(shù)字索引值轉(zhuǎn)換成字符串索引值變成,然后將其作為屬性名來用。返回一個由刪除元素組成的數(shù)組。該方法返回的數(shù)組元素是調(diào)用的數(shù)組的一個子集。使用的函數(shù)有四個參數(shù)初始值積累值數(shù)組元素元素索引數(shù)組本身。 前言 很多人在學(xué)習(xí)原生JS的過程中會遇到一些疑惑,比如在學(xué)習(xí)array時,就很容易搞不清哪些方法會改變原來數(shù)組,哪些方法不會改變原來數(shù)組?再比如很多人會使用new Date()獲取時間,卻...

    xeblog 評論0 收藏0
  • JS學(xué)習(xí)第十天筆記 Array類型

    摘要:只有滿足才返回,否則返回。專門用于篩選出數(shù)組中符合函數(shù)判斷條件的元素組成的心數(shù)組。專門用于對原數(shù)組中每個元素執(zhí)行相同的函數(shù)對象規(guī)定的操作。并歸方法將數(shù)組從左向右迭代。 Array類型 數(shù)組的常見方法 檢測數(shù)組 如何確定當(dāng)前是一個數(shù)組,JS提供了以下幾種方式1.typeof無法檢測數(shù)組對象:typrof[]返回object2.instanceof:[]instanceof Array返回...

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

    摘要:返回數(shù)組內(nèi)容的字符串表示形式將數(shù)組中每個元素轉(zhuǎn)為字符串,并用逗號連接。拍照連接符將數(shù)組中每個元素轉(zhuǎn)為字符串,用自定義的連接符連接每個元素需要用變量借助。 關(guān)于數(shù)組篇的記錄,純自己總結(jié),會持續(xù)更新~ 原生js方法 1:創(chuàng)建數(shù)組的幾種方法: var arr = []; var arr = new Array(); var arr = [1,2]; var arr = new Arr...

    roundstones 評論0 收藏0
  • 前端學(xué)習(xí)記錄(JS篇)

    摘要:簡介俗稱,的正式名稱是,是網(wǎng)景公司公司開發(fā)的一種基于客戶端瀏覽器基于面向?qū)ο笫录?qū)動式的網(wǎng)頁腳本語言。變量名不能使用關(guān)鍵字變量名對大小寫敏感。 javascript簡介 javascript俗稱js,js的正式名稱是ECMAScript,是網(wǎng)景公司Netscape公司開發(fā)的一種基于客戶端瀏覽器、基于面向?qū)ο蟆⑹录?qū)動式的網(wǎng)頁腳本語言。主要用于:交互式操作,表單驗(yàn)證,網(wǎng)頁特效,web游...

    Keagan 評論0 收藏0
  • JS中ArrayAPI學(xué)習(xí)筆記

    摘要:如果該函數(shù)的返回值大于,表示第一個成員排在第二個成員后面其他情況下,都是第一個元素排在第二個元素前面。第三次執(zhí)行,為上一輪的返回值,為第四個成員。第四次執(zhí)行,為上一輪返回值,為第五個成員。 JS中ArrayAPI學(xué)習(xí)筆記 記博客,時?;仡?尤其是面試之先回顧阮一峰標(biāo)準(zhǔn)庫Array對象 1 一些標(biāo)準(zhǔn)庫回顧 showImg(https://segmentfault.com/img/remo...

    tolerious 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<