Добавить цикличным методом по еденице к каждому эллементу 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, время: 16:06. |