成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

JavaScript數(shù)組——常用數(shù)組方法匯總

HollisChuang / 1437人閱讀

摘要:本文記錄關于數(shù)組的一些常用方法,搜集總結。對于數(shù)組中的每個元素,都會調用函數(shù)一次。返回值是一個新數(shù)組,其中的每個元素均為關聯(lián)的原始數(shù)組元素的回調函數(shù)返回值。

本文記錄關于js數(shù)組的一些常用方法,搜集總結。

主要思路:
1. 方法功能是什么
2. 傳遞的參數(shù)是什么
3. 返回值是什么
4. 原來的數(shù)組是否改變
第一組:關于數(shù)組的增加、刪除和修改 1.push 向數(shù)組末尾增加新的內容,返回的是添加后新數(shù)組的長度,原有的數(shù)組改變了
    var arr=[10,11,12,13,14,15];
    var res=arr.push(16,17);
    console.log(res);    //8
    console.log(arr);    //[10,11,12,13,14,15,16,17]
2.unshift 向數(shù)組的開頭增加新的內容,返回的是添加后新數(shù)組的長度,原來的數(shù)組也改變
    var res=arr.unshift(16,17);
    console.log(res);   //8
3.splice(n,m,x) 把原有數(shù)組中的某些項進行替換。(先刪除,然后用x替換)。從所以n(包含n)開始,向后刪除m個元素,用x替換,返回刪除的數(shù)組

原有數(shù)組改變規(guī)律:
splice(0,0,x) 相當于unshift,splice(arr.length,0,x) 相當于pushsplice(n,0,x) 向數(shù)組中間某個位置添加新的內容 從索引n開始,刪除0個內容,把新增的內容x放在索引n的前面。返回的是一個空數(shù)組,原有數(shù)組改變n開始的索引splice(n,m) 刪除數(shù)組指定項,從所以n(包含n)開始,向后刪除m個元素 ,把刪除的內容當做新數(shù)組返回,原有數(shù)組改變

    var res=arr.splice(2,0,"michael");  //在12后面添加“michael"
    console.log(arr);
4.pop 刪除數(shù)組最后一個,返回的是刪除的那一項,原有數(shù)組改變。shift 刪除數(shù)組第一個,返回的是刪除的那一項,原有數(shù)組改變 第二組:數(shù)組的查詢和復制 5.slice(n,m) 從索引n(包含n)開始找到索引m(不包含m)處。把找到的內容作為一個新的數(shù)組返回,原有數(shù)組是不改變的。
javascript    var arr=[10,11,12,13,14,15];
    var res=arr.slice(1,4);
    console.log(res);   //[11, 12, 13]
    console.log(arr);   //[10, 11, 12, 13, 14, 15]
    slice(n) 從索引n(包含n)開始找到末尾
    slice(0)  // slice()  將原來數(shù)組原封不動的復制一份,數(shù)組clone
6. concat 本意是實現(xiàn)數(shù)組的拼接的 arr1.concat(arr2) 將數(shù)組arr2和數(shù)組arr1合并成新的數(shù)組,原來的數(shù)組也不變

concat也可以是數(shù)組的克隆,原來的數(shù)組也改變(相當于slice(0))

    var arr1=[10,11,12,13,14,15];
    var arr2=[16,17];
    var res=arr1.concat(arr2);
    console.log(arr1);  //[10, 11, 12, 13, 14, 15]
    console.log(res);   //[10, 11, 12, 13, 14, 15, 16, 17]
第三組:將數(shù)組轉化為我們的字符串 7.toString 把數(shù)組中的每一項拿出來,用逗號隔開,組成字符串,原有數(shù)組不變
javascript     var arr=["name","michael","age","24"];
     var res=arr.toString();
     console.log(res);   //name,michael,age,24
     console.log(arr);   //["name", "michael", "age", "24"]
8.join(分隔符) 把數(shù)組中的每一項拿出來,用指定的分隔符隔開,原有數(shù)組不變。
     var arr=["name","michael","age","24"];
     var res=arr.join("|");
     console.log(res);           //"name|michael|age|24"
     console.log(res.length);    //19
     console.log(arr);           //["name", "michael", "age", "24"]
     console.log(arr.length);    //4

例:實現(xiàn)數(shù)組中數(shù)字的求和

     var arr=[10,11,12,13,14,15];
     var str=arr.join("+");      //"10+11+12+13+14+15"
     var total=eval(str);        //eval 將指定的字符串變成真正的額表達式執(zhí)行
     console.log(total);         //75
     console.log(arr);           //[10, 11, 12, 13, 14, 15]
第四組:排列和排序 9.reverse 數(shù)組倒過來排列,原有數(shù)組改變。
     var arr=[10,11,12,13,14,15];
     console.log(arr);           //[10, 11, 12, 13, 14, 15]
     var res=arr.reverse();      //"10+11+12+13+14+15"
     console.log(res);         //[15, 14, 13, 12, 11, 10]
10.sort 數(shù)組的排序,可以實現(xiàn)由大到?。ㄓ尚〉酱螅械臄?shù)組也變

直接寫sort只能處理10以內的數(shù)字排序,處理10以上的我們需要傳遞一個參數(shù),這個參數(shù)必須是函數(shù)

     var arr=[10,12,11,19,13,15,6];
     console.log(arr);           //[10, 12, 11, 19, 13, 15,6]
     var res=arr.sort();
     console.log(res);         //[10, 11, 12, 13, 15, 19, 6]

改進:

     var arr=[10,12,11,19,13,15,6];
     console.log(arr);           //[10, 12, 11, 19, 13, 15,6]
     var res1=arr.sort(function(a,b){return a-b;});   //實現(xiàn)由小到大
     console.log(res1);
     var res2=arr.sort(function(a,b){return b-a;})   //實現(xiàn)由大到小
     console.log(res2);         //[10, 11, 12, 13, 15, 19, 6]
     var arr=[10,12,11,19,13,6];
     console.log(arr);           //[10, 12, 11, 19, 13, 15,6]

     var res1=arr.sort(function(a,b){
     //a表示每一次循環(huán)的時候的當前項,b是后面的項
     //return a-b;當前項減去后一項,如果大于0,代表前面的比后面的大,這樣的話就交換位置
     //冒泡排序:sort實現(xiàn)排序,就是遵循冒泡排序的思想實現(xiàn)的
     console.log(a+"<====>"+b);
     return a-b;});   //實現(xiàn)由小到大
第五組:一些常用但不兼容 11.indexOf array1.indexOf(searchElement[, fromIndex])

fromIndex可選 用于開始搜索的數(shù)組索引。 如果省略 fromIndex,則從索引 0 處開始搜索。
數(shù)組中的 searchElement 的第一個匹配項的索引;如果未找到 searchElement,則為 -1。

     var arr=["hello","michael","good","study"];
     var p=arr.indexOf("mi",0);
     console.log(p);           //-1
12.forEach array1.forEach(callbackfn[, thisArg])

callbackfn 必選。 最多可以接受三個參數(shù)的函數(shù)。 對于數(shù)組中的每個元素,forEach 都會調用 callbackfn 函數(shù)一次。

thisArg 可選。 callbackfn 函數(shù)中的 this 關鍵字可引用的對象。 如果省略 thisArg,則 undefined 將用作 this 值。

如果 callbackfn 參數(shù)不是函數(shù)對象,則將引發(fā) TypeError 異常。

對于數(shù)組中出現(xiàn)的每個元素,forEach 方法都會調用 callbackfn 函數(shù)一次(采用升序索引順序)。 將不會為數(shù)組中缺少的元素調用回調函數(shù)。

除了數(shù)組對象之外,forEach 方法可由具有 length 屬性且具有已按數(shù)字編制索引的屬性名的任何對象使用。

回調函數(shù)的語法:function callbackfn(value, index, array1):

參數(shù) 參數(shù)說明
value 數(shù)組元素的值
index 數(shù)組元素的數(shù)字索引
array1 包含該元素的數(shù)組對象
     // Create an array.
     var numbers = [10, 11, 12];

     // Call the addNumber callback function for each array element.
     var sum = 0;
     numbers.forEach(
     function addNumber(value) { sum += value; }
     );

     document.write(sum);
     // Output: 33

https://msdn.microsoft.com/zh-cn/library/ff679980(v=vs.94).aspx

13.map array1.map(callbackfn[, thisArg])

callbackfn 必選。 最多可以接受三個參數(shù)的函數(shù)。 對于數(shù)組中的每個元素(不會對undefined元素調用),map 方法都會調用 callbackfn 函數(shù)一次。

[, thisArg] 可選。 callbackfn 函數(shù)中的 this 關鍵字可引用的對象。 如果省略 thisArg,則 undefined 將用作 this 值。

返回值是一個新數(shù)組,其中的每個元素均為關聯(lián)的原始數(shù)組元素的回調函數(shù)返回值。如果 callbackfn 參數(shù)不是函數(shù)對象,則將引發(fā) TypeError 異常。

對于數(shù)組中的每個元素,map 方法都會調用 callbackfn 函數(shù)一次(采用升序索引順序)。 將不會為數(shù)組中缺少的元素調用回調函數(shù)。除了數(shù)組對象之外,map 方法可由具有 length 屬性且具有已按數(shù)字編制索引的屬性名的任何對象使用。

回調函數(shù)的語法如下所示:function callbackfn(value, index, array1):

參數(shù) 參數(shù)說明
value 數(shù)組元素的值
index 數(shù)組元素的數(shù)字索引
array1 包含該元素的數(shù)組對象
    // Define the callback function.
     function AreaOfCircle(radius) {
     var area = Math.PI * (radius * radius);
     return area.toFixed(0);
     }

     // Create an array.
     var radii = [10, 20, 30];

     // Get the areas from the radii.
     var areas = radii.map(AreaOfCircle);

     document.write(areas);

     // Output:
     // 314,1257,2827
     */

本文記錄關于js數(shù)組的一些常用方法,搜集總結,如有不妥,望指正。

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

轉載請注明本文地址:http://m.hztianpu.com/yun/85739.html

相關文章

  • JavaScript中操作數(shù)組常用函數(shù)匯總

    摘要:示例語法作用方法用于刪除并返回數(shù)組的最后一個元素。返回值一個新的字符串,該字符串值包含的一個子字符串,其內容是從處到處的所有字符,其長度為減。返回值一個新的字符串,包含從的包括所指的字符處開始的個字符。 1.concat()語法:arrayObject.concat(array1,array2,......,arrayn)作用:concat() 方法用于連接兩個或多個數(shù)組。特征:該方法...

    beita 評論0 收藏0
  • es6常用數(shù)組操作及技巧匯總

    摘要:檢測數(shù)組或者檢測對象的原型鏈是否指向構造函數(shù)的對象或者終極大招注意不可以用此方法檢查常用方法合并多個數(shù)組,返回合并后的新數(shù)組,原數(shù)組沒有變化。返回值是由被刪除的元素組成的一個數(shù)組。 定義數(shù)組 const array = [1, 2, 3]; 或者 const array = new Array(); array[0] = 1; 建議盡量使用第一種形式定義數(shù)組,采用new的形式在大量的數(shù)...

    Noodles 評論0 收藏0
  • es6常用數(shù)組操作及技巧匯總

    摘要:檢測數(shù)組或者檢測對象的原型鏈是否指向構造函數(shù)的對象或者終極大招注意不可以用此方法檢查常用方法合并多個數(shù)組,返回合并后的新數(shù)組,原數(shù)組沒有變化。返回值是由被刪除的元素組成的一個數(shù)組。 定義數(shù)組 const array = [1, 2, 3]; 或者 const array = new Array(); array[0] = 1; 建議盡量使用第一種形式定義數(shù)組,采用new的形式在大量的數(shù)...

    jk_v1 評論0 收藏0
  • 前端實習面試匯總

    摘要:題目來源前端實習生面試總結最近開始了幾次面試,雖然還不知道結果如何,但是還是要記錄下來進行一個總結,同樣也希望對正在準備面實習生的童鞋們有所幫助最后一個參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎的書多碼代碼準備找實習,在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實習生面試題自己整理一下。 題目來源:前端實習生面試總結最近開始了幾次面試,雖然還不知道結果如何,但是還是要記錄...

    張利勇 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<