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 ...