Добавить цикличным методом по еденице к каждому эллементу 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));
|
| Часовой пояс GMT +3, время: 13:52. |