有這個很簡單.map
功能爲什麼這個.MAP功能不起作用
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
這是有道理的,我就numbers
執行映射功能,並提供將遍歷數組中的迭代每個元素的功能。
在下面這個例子中(所有這些都取自mozilla,https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map),我想我自己爲什麼要用Array.prototype.map.call
,也許他們只是展示了不同的方式來完成相同的目標。
var str = '12345';
Array.prototype.map.call(str, function(x) {
return x;
}).reverse().join('');
所以我改寫了這個作爲
var str = '12345';
var stringy = str.map(function(x) {
return x;
}).reverse().join('');
除非我得到一個錯誤 「str.map不是一個函數(......)」 這是爲什麼?
它應該是'str.split(「」).map()'?如果我沒有錯,['map()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)用於數組,而不是字符串 –
'str'不是一個數組,所以它沒有'map'方法。 'Array.prototype.map.call'將字符串轉換爲數組。 – undefined
@LambdaNinja你應該發佈這個答案。 – Santi