Урок 14. Приемы работы с массивами в JavaScript

Урок 14. Приемы работы с массивами в JavaScript

Создание и раскрутка сайтов

Вбиваю в ТОП-10, как гвозди

8-965-148-98-02, diplom07@mail.ru

Создание и раскрутка сайтов

Вбиваю в ТОП-10, как гвозди

8-965-148-98-02, diplom07@mail.ru

Урок 14. Приемы работы с массивами в JavaScript

Урок 14. Приемы работы с массивами в JavaScript

www.homa.xp3.biz

Теория

Заполнение массивов

Заполнить массив 8 иксами (метод push):

var a=[];for(var i=0;i<8;i++){a.push('x')}document.write(a)//Выведет ['x','x','x','x','x','x','x','x']

Заполнить массив числами от 1 до 8:

var a=[];for(var i=1;i<=8;i++){a.push(i)}document.write(a)//Выведет [1,2,3,4,5,6,7,8]

Можно не использовать push, а указать ключи напрямую:

var a=[];for(var i=0;i<8;i++){a[i]='x'}document.write(a)//Выведет ['x','x','x','x','x','x','x','x']

var a=[];for(var i=0;i<8;i++){a[i]=i+1}document.write(a)//Выведет [1,2,3,4,5,6,7,8]

Переворот массива

Из массива ['a','b','c','d','e'] сделать ['e','d','c','b','a'].

Для этого перебрать исходный массив с конца и записать его элементы в новый массив. Они будут идти в обратном порядке:

var a=['a','b','c','d','e'],r=[];for(var i=a.length-1;i>=0;i--){r.push(a[i])}document.write(r)//Выведет ['e','d','c','b','a']

Переворот объекта

Поменять ключи и значения в объекте, например из {a:1,b:2,c:3,d:4,e:5} сделать {1:'a',2:'b',3:'c',4:'d',5:'e'}.

Для этого перебрать циклом for-in исходный объект и создать при этом новый объект r. Ключами нового объекта сделать элементы старого (это o[k]), а значениями нового объекта - ключи старого (это k):

var o={a:1,b:2,c:3,d:4,e:5},r={};for(var k in o){r[o[k]]=k}console.log(r)//Выведет {1:'a',2:'b',3:'c',4:'d',5:'e'}

Подсчет количества элементов

Пусть дан массив ['a','b','c','a','a','b']. Сосчитать количество одинаковых элементов в этом массиве и сделать результат в виде объекта {a:3,b:2,c:1}.

Для решения сделаем объект c с начальным значением {a:0,b:0,c:0}. Будем перебирать массив циклом и увеличивать соответствующее значение в объекте c. К примеру: если текущий элемент массива - это 'a', то увеличить c['a'] на 1. Вот так: c['a']++.

Только вместо 'a' следует подставлять текущий элемент массива. Вот так: c[a[i]]++. Пишем окончательный код:

var a=['a','b','c','a','a','b'],c={a:0,b:0,c:0};for(var i=0;i<a.length;i++){c[a[i]]++}document.write(c)//Выведет {a:3,b:2,c:1}

Пойдем дальше: то, что объект c имеет изначальное значение {a:0,b:0,c:0} - это неудобно, т.к. неизвестно, какие элементы есть в массиве.

Пусть объект cформируется автоматически так: если такого элемента в c нет, то ему следует присвоить значение 1, а если есть, просто увеличить значение на 1:

var a=['a','b','c','a','a','b'],c={};for(i=0;i<a.length;i++){if(c[a[i]]===undefined){c[a[i]]=1}else{c[a[i]]++}}console.log(c)//Выведет {a:3,b:2,c:1}

Перебор многомерных массивов

Есть 2-мерный массив: a=[[1,2,3],[4,5,6],[7,8]].

Вывести все его элементы, т.е. запустить 2 вложенных друг в друга цикла:

var a=[[1,2,3],[4,5,6],[7,8]];for(i=0;i<a.length;i++){for(var j=0;j<a[i].length;j++){document.write(a[i][j])}}

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович:
8-965-148-98-02, diplom07@mail.ru.
Печатать страницу: Урок 14. Приемы работы с массивами в JavaScript

Урок 14, Приемы работы с массивами в JavaScript, Урок, 14, Приемы, работы, с, массивами, в, JavaScript, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, Создание сайтов, web-программирование, seo-продвижение, создание и раскрутка сайтов, вбиваю в топ-10, как гвозди, попробуйте бесплатно, Создание сайтов, web-программирование, seo-продвижение, Урок, 14, Приемы, работы, с, массивами, в, JavaScript, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, раскрутка сайтов, Вбиваю в ТОП-10, как гвозди, раскрутка сайтов, Делаю и раскручиваю сайты, Дмитрий Владимирович

×

Ваше письмо