摘要:的數(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
摘要:函數(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...
摘要:本文是響應(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...
摘要:但是有了尾調(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中...
摘要:真正留給我們要實(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ù)式編程范式中很常用的技巧。 本文著重于闡述它們的...
摘要:函數(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...
閱讀 3483·2021-11-18 10:02
閱讀 1612·2021-10-12 10:12
閱讀 2990·2021-10-09 09:53
閱讀 4858·2021-09-09 09:34
閱讀 848·2021-09-06 15:02
閱讀 2777·2021-08-05 10:02
閱讀 3134·2019-08-30 15:44
閱讀 3121·2019-08-28 18:04