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

資訊專欄INFORMATION COLUMN

map函數(shù)的使用技巧

biaoxiaoduan / 2492人閱讀

摘要:的數(shù)組對(duì)象中有很多有用的方法,的函數(shù)在某些方面非常的方便強(qiáng)大。函數(shù)的使用例子求數(shù)組中每個(gè)元素的平方根的值為的值仍為應(yīng)用下面代碼展示了如何去遍歷用得到的動(dòng)態(tài)對(duì)象集合。

js的Array數(shù)組對(duì)象中有很多有用的方法,js的map函數(shù)在某些方面非常的方便強(qiáng)大。

map() 方法創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后返回的結(jié)果。

let numbers = [1, 5, 10, 15];
let roots = numbers.map((x) => {
    return x * 2;
});

let roots = numbers.map( x =>  x * 2);


// roots is now [2, 10, 20, 30]
// numbers is still [1, 5, 10, 15]

let numbers = [1, 4, 9];
// let roots = numbers.map(Math.sqrt);
let roots = numbers.map(function(x){
    return Math.sqrt(x);
});
// roots is now [1, 2, 3]
// numbers is still [1, 4, 9]
map函數(shù)的使用例子 求數(shù)組中每個(gè)元素的平方根
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
/* roots的值為[1, 2, 3], numbers的值仍為[1, 4, 9] */
querySelectorAll 應(yīng)用

下面代碼展示了如何去遍歷用 querySelectorAll 得到的動(dòng)態(tài)對(duì)象集合。在這里,我們獲得了文檔里所有選中的選項(xiàng),并將其打印:

var elems = document.querySelectorAll("select option:checked");
var values = Array.prototype.map.call(elems, function(obj) {
  return obj.value;
});
反轉(zhuǎn)字符串
var str = "12345";
Array.prototype.map.call(str, function(x) {
  return x;
}).reverse().join(""); 

// Output: "54321"
// Bonus: use "===" to test if original string was a palindrome
兼容舊環(huán)境
// 實(shí)現(xiàn) ECMA-262, Edition 5, 15.4.4.19
// 參考: http://es5.github.com/#x15.4.4.19
if (!Array.prototype.map) {
  Array.prototype.map = function(callback, thisArg) {

    var T, A, k;

    if (this == null) {
      throw new TypeError(" this is null or not defined");
    }

    // 1. 將O賦值為調(diào)用map方法的數(shù)組.
    var O = Object(this);

    // 2.將len賦值為數(shù)組O的長(zhǎng)度.
    var len = O.length >>> 0;

    // 3.如果callback不是函數(shù),則拋出TypeError異常.
    if (Object.prototype.toString.call(callback) != "[object Function]") {
      throw new TypeError(callback + " is not a function");
    }

    // 4. 如果參數(shù)thisArg有值,則將T賦值為thisArg;否則T為undefined.
    if (thisArg) {
      T = thisArg;
    }

    // 5. 創(chuàng)建新數(shù)組A,長(zhǎng)度為原數(shù)組O長(zhǎng)度len
    A = new Array(len);

    // 6. 將k賦值為0
    k = 0;

    // 7. 當(dāng) k < len 時(shí),執(zhí)行循環(huán).
    while(k < len) {

      var kValue, mappedValue;

      //遍歷O,k為原數(shù)組索引
      if (k in O) {

        //kValue為索引k對(duì)應(yīng)的值.
        kValue = O[ k ];

        // 執(zhí)行callback,this指向T,參數(shù)有三個(gè).分別是kValue:值,k:索引,O:原數(shù)組.
        mappedValue = callback.call(T, kValue, k, O);

        // 返回值添加到新數(shù)組A中.
        A[ k ] = mappedValue;
      }
      // k自增1
      k++;
    }

    // 8. 返回新數(shù)組A
    return A;
  };      
}

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

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

相關(guān)文章

  • JS函數(shù)式編程(初級(jí))

    摘要:函數(shù)式編程函數(shù)式,可能并不是那么難。在學(xué)習(xí)函數(shù)式編程之初,首先要知道在這一技能葉子中包含有多少個(gè)相關(guān)詞,其次要知道它和我們是否從未有過(guò)遇見(jiàn)。 JS函數(shù)式編程 函數(shù)式,可能并不是那么難。 在學(xué)習(xí)JS函數(shù)式編程之初,首先要知道在這一技能葉子中包含有多少個(gè)相關(guān)詞,其次要知道它和我們是否從未有過(guò)遇見(jiàn)。 一等公民、純函數(shù)、柯里化、代碼組合、pointfree、命令式與申明式、 Hindley...

    jk_v1 評(píng)論0 收藏0
  • 【響應(yīng)式編程思維藝術(shù)】 (3)flatMap背后代數(shù)理論Monad

    摘要:本文是響應(yīng)式編程第二章序列的深入研究這篇文章的學(xué)習(xí)筆記。函數(shù)科里化的基本應(yīng)用,也是函數(shù)式編程中運(yùn)算管道構(gòu)建的基本方法。四資料參考函數(shù)式編程指南 本文是Rxjs 響應(yīng)式編程-第二章:序列的深入研究這篇文章的學(xué)習(xí)筆記。示例代碼托管在:http://www.github.com/dashnowords/blogs 更多博文:《大史住在大前端》目錄 showImg(https://segme...

    MorePainMoreGain 評(píng)論0 收藏0
  • 學(xué)習(xí)ES6筆記──工作中常用到ES6語(yǔ)法

    摘要:但是有了尾調(diào)用優(yōu)化之后,遞歸函數(shù)的性能有了提升。常被用來(lái)檢查對(duì)象中是否存在某個(gè)鍵名,集合常被用來(lái)獲取已存的信息。循環(huán)解構(gòu)對(duì)象本身不支持迭代,但是我們可以自己添加一個(gè)生成器,返回一個(gè),的迭代器,然后使用循環(huán)解構(gòu)和。 一、let和const 在JavaScript中咱們以前主要用關(guān)鍵var來(lái)定義變量,ES6之后,新增了定義變量的兩個(gè)關(guān)鍵字,分別是let和const。對(duì)于變量來(lái)說(shuō),在ES5中...

    curried 評(píng)論0 收藏0
  • 函數(shù)式編程中局部應(yīng)用(Partial Application)和局部套用(Currying)區(qū)別

    摘要:真正留給我們要實(shí)現(xiàn)的僅僅是返回另外一部分用于局部應(yīng)用的一元函數(shù)罷了。總結(jié)各用一句話做個(gè)小結(jié)吧局部應(yīng)用是一種轉(zhuǎn)換技巧,通過(guò)預(yù)先傳入一個(gè)或多個(gè)參數(shù)來(lái)把多元函數(shù)轉(zhuǎn)變?yōu)楦僖恍┰暮瘮?shù)甚或是一元函數(shù)。 局部應(yīng)用(Partial Application,也譯作偏應(yīng)用或部分應(yīng)用)和局部 套用( Currying, 也譯作柯里化),是函數(shù)式編程范式中很常用的技巧。 本文著重于闡述它們的...

    AaronYuan 評(píng)論0 收藏0
  • JavaScript 函數(shù)式編程(三)

    摘要:函數(shù)式編程一般約定,函子有一個(gè)方法,用來(lái)生成新的容器。是實(shí)現(xiàn)了函數(shù)并遵守一些特定規(guī)則的容器類型。定義二若為廣群,且運(yùn)算還滿足結(jié)合律,即任意,有,則稱為半群。 slide 地址 四、Talk is cheap!Show me the ... MONEY! 以下內(nèi)容主要參考自 Professor Frisby Introduces Composable Functional JavaScr...

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

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

0條評(píng)論

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