Добавить цикличным методом по еденице к каждому эллементу array
Подскажите каким методом сделать элементарное задание.
К примеру есть var array=[2, 3, 4, 5, 6]; Каким видом цикла можно каждый элемент array увеличить на 1? чтоб в итоге было: 3 4 5 6 7 ? |
Nadine,
2 + 1 = 2 ??? |
ой.. очепятка
|
Nadine,
значения массива идут по порядку ? и возрастают до увеличения значения на 1 ? цикл обязателен? |
ну цифры могут быть любыми, главное чтоб к каждому был +1.
Ну думаю да, цикл обязателен. А как можно сделать без цикла? Чтоб к примеру если я что то добавлю в этот массив (новые значения) , то чтоб все считалось без проблем |
Nadine,
var arr=[2, 3, 4, 5, 6],l = arr.length; arr[l-1]=arr.shift()+l alert(arr) а в чём проблема то у вас перебрать элементы массива циклом? |
рони,
знаешь толк XD |
Цитата:
|
Nadine,
я уточню, вот это он просто сместил элементы. физически он их не изменил, это такая оптимизация типа. если тебе нужно пройтись по всем элементам массива? то просто используй этот метод: var arr = [1,2,3]; alert(arr); arr.forEach(function(a,b,c){ c[b] = a + 1; }); alert(arr) где a - значение текущей ячейки b - индекс текущей ячейки с - ссылка на перебираемый массив |
Цитата:
можно простым перебором var arr=[2, 3, 4, 5, 6]; function g(arr,n) { var a = []; n = n || 1; for (var i=0; i<arr.length; i++) { a[i]=arr[i]+n } return a } alert(g(arr)); alert(g(arr,2)); |
рони,
нельзя к сожалению, иначе бы я перебор и посоветовал. var arr = [1,2,3]; delete arr[1]; да, забыл сказать метод не кроссбраузерный, в старых браузерах не поддерживается. Но можно реализовать. |
Цитата:
|
весело тут у вас :)) этож надо так над девушкой издеваться))))
var arr = [1,2,3,4,5]; var i = arr.length-1; while (i>=0){ arra[i] = arra[i]+1; i --; } |
T-sh,
ниже ваш код без ошибок и покороче ))) var arr = [1,2,3,4,5],i = arr.length; while (i--){ arr[i]++; } alert(arr) |
А почему никто не предложил вариант, через map
[1,2,3,4,5].map(function( item ){ return item++; }); Метод естественно не кроссбраузерный. |
Цитата:
|
черт.. опечатки не заметил в своем примере..
arra = arr :) руки уже не слушаются. |
Цитата:
var arr = [1,2,3,4,5], i = arr.length; while( i-- ) arr[i]++ ; alert(arr) |
Цитата:
Цитата:
var arr = [1,2,3,4,5], i = arr.length; while (arr[--i]++); alert(arr); :) |
Цитата:
...а, хотя не, не катит:( : var arr = [1,2,3,4,5,0], i = arr.length; while (arr[--i]++); alert(arr); |
Часовой пояс GMT +3, время: 01:52. |