map函式的使用技巧

2021-09-16 20:09:14 字數 1849 閱讀 5887

js的array陣列物件中有很多有用的方法,js的map函式在某些方面非常的方便強大。

map() 方法建立乙個新陣列,其結果是該陣列中的每個元素都呼叫乙個提供的函式後返回的結果。

let numbers = [1, 5, 10, 15];

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

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));

// roots is now [1, 2, 3]

// numbers is still [1, 4, 9]

求陣列中每個元素的平方根
var numbers = [1, 4, 9];

var roots = numbers.map(math.sqrt);

/* roots的值為[1, 2, 3], numbers的值仍為[1, 4, 9] */

queryselectorall 應用

下面**展示了如何去遍歷用 queryselectorall 得到的動態物件集合。在這裡,我們獲得了文件裡所有選中的選項,並將其列印:

var elems = document.queryselectorall('select option:checked');

var values = array.prototype.map.call(elems, function(obj) );

反轉字串
var str = '12345';

array.prototype.map.call(str, function(x) ).reverse().join('');

// output: '54321'

// bonus: use '===' to test if original string was a palindrome

相容舊環境
// 實現 ecma-262, edition 5, 15.4.4.19

// 參考:

if (!array.prototype.map)

// 1. 將o賦值為呼叫map方法的陣列.

var o = object(this);

// 2.將len賦值為陣列o的長度.

var len = o.length >>> 0;

// 3.如果callback不是函式,則丟擲typeerror異常.

if (object.prototype.tostring.call(callback) != "[object function]")

// 4. 如果引數thisarg有值,則將t賦值為thisarg;否則t為undefined.

if (thisarg)

// 5. 建立新陣列a,長度為原陣列o長度len

a = new array(len);

// 6. 將k賦值為0

k = 0;

// 7. 當 k < len 時,執行迴圈.

while(k < len)

// k自增1

k++;

}// 8. 返回新陣列a

return a;

};

}

Eigen的map函式使用

經常會處理其他資料結構和eigen的轉換,比如把opencv的mat轉為eigen的matrix,或者std vector的填入matrix。在不進行拷貝的情況下可以使用eigen的map功能進行記憶體對映。不過一定注意對映後的記憶體不要被原結構釋放了 直接上例子 int array 9 eigen...

map 容器的說明和使用技巧

map是stl的乙個關聯容器,它提供一對一 其中第乙個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值 的資料 處理能力,由於這個特性,它完成有可能在我們處理一對一資料的時候,在程式設計上提供快速通道。這裡說下map內部資料的組織,map內部自建一顆紅黑樹 一 種非嚴格意...

6 4 1 使用 map 函式

6.4.1 使用 map 函式 我們將使用f 庫中的兩個操作,因此,首先要看一下如何使用 然後,討論如何實現,以及如何在 c 中使用。我們已經知道,了解 f 中函式的功能,最好的方法通常是理解型別簽名。現在,我們就看一下 option.map 的型別簽名 option.map val it a b ...