метод forEach
Часто начал встречать подобный метод, особенно у ливаандриамарума, можете объяснить как он работает?
Вот например: <script> var a = [1,2,3] a.forEach(function (/* что здесь за аргументы? */) { // увеличить каждый элемент массива на 1 }) Как выполнить? |
Цитата:
var a = [1,2,3]; a.forEach(function(el, idx, a) { console.log('a['+idx+'] = '+el+' in ['+a+']'); }); Точно не помню, но вроде в IE < 9 не работает, могу ошибаться... |
|
Цитата:
То есть первый аргумент, это элемент с индексом idx, второй это как i в for(i=0;i<arr.length;i++). И третий это непосредтсвенно сам массив. Thanks :victory: var a = [1,2,3]; a.forEach(function(el, idx, a) { a[idx] += 1 console.log(a[idx]) }); А если мы укажем: var a = [1,2,3] a.forEach(function (a,b) { /* это будут el и idx? То есть если нужно получить массив("а" у вас, то мне по-любому придется печатать 3 аргумента? */ }) Kolyaj, Спасибо почитаю |
Я правильно понимаю, что map это тупое перебирание всех элементов и что-то с ними делание?
var a = [1,2,3] var b = a.map(function(c) { return c+1 }) alert(b) var e = a.map(function(v) { return v + 'c' }) alert(e) |
Цитата:
|
<script> var a = [1,2,3] a.forEach(function () { arguments[2][arguments[1]] +=1 }) alert(a) </script> Так что ли? Так мне легче уж аргументы написать чем так.. |
Цитата:
Или тут arguments[2][arguments[1]] += 1 |
monolithed,
эм...так я прочитал ее и спрашиваю |
Кстати можно так:
alert([].map.call([1,2,3], function (i) { return i + i; })); |
Часовой пояс GMT +3, время: 22:48. |