[英]Removing an item when using Array.prototype.map() in Javascript
[英]A little confused with Javascript Array.prototype.map() when working with string
我正在閱讀地圖/減少文檔,這個特定的字符串示例對我沒有意義。
var toCode = function(char) {
return char.charCodeAt(0);
}
首先,有用的東西。 它為什么有效? string不是數組。
var text = "Hello World";
var map = Array.prototype.map;
console.log(map.call(text, toCode));
現在,事情不起作用。 這不完全和上面一樣嗎?
console.log(text.map(toCode));
我使用www.codeacademy.com控制台進行測試,這是錯誤消息:
TypeError: undefined is not a function (evaluating '"hello world".map(toCode)')
謝謝。
你的第二個代碼不起作用,因為字符串沒有map
方法,但你可以從Array中借用它,因為數組方法適用於類似數組的對象,即帶有數字鍵的對象,如字符串:
地圖功能是故意通用的; 它不要求它的
this
值是一個Array對象。 因此,它可以轉移到其他類型的對象以用作方法。 map函數是否可以成功應用於宿主對象是依賴於實現的。
http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.4.19
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.