Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
1

Что легче обрабатывать, массив или объект (ассоциативный массив)?

19.09.2014, 18:28. Показов 2013. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
вопрос такой
сейчас мне надо узнать что легче обрабатывать массив или объект?
или "что короче?"
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.09.2014, 18:28
Ответы с готовыми решениями:

Что легче изучить php или javascript
что легче изучить php или javascript?

Object, ассоциативный массив
Ребята, такая проблема, не получается распарсить ajax, по сути возвращается массив, но из функции...

Ассоциативный массив в цикле
помогите пожалуйста, пытаюсь работать с апи яндекс карт. в коде апи есть такой кусок кода...

Не выводится созданный ассоциативный массив
Создаю массив с помощью цикла в PHP, и немогу его вывести на JS: concur_sett=; <?php...

15
Модератор
Эксперт JS
5197 / 2079 / 406
Регистрация: 06.01.2013
Сообщений: 4,793
19.09.2014, 19:03 2
Лучший ответ Сообщение было отмечено BANO как решение

Решение

Зависит от того, что Вы хотите сделать.
1
Эксперт JSЭксперт HTML/CSS
2435 / 1114 / 312
Регистрация: 23.06.2011
Сообщений: 3,525
19.09.2014, 21:11 3
Цитата Сообщение от BANO Посмотреть сообщение
или "что короче?"
а это зависит от опыта или удачи, а также от длины имён переменных
1
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
19.09.2014, 21:31  [ТС] 4
всё я разобрался
мне надо было перебирать массив
я сделал так
Javascript
1
2
for (keys in entity){//тут я делаю то чо мне надо
}
0
7 / 7 / 6
Регистрация: 30.12.2009
Сообщений: 43
19.09.2014, 21:47 5
Никогда массивы так не перебирай)
0
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
19.09.2014, 22:12  [ТС] 6
lux16, почему?
0
7 / 7 / 6
Регистрация: 30.12.2009
Сообщений: 43
19.09.2014, 22:17 7
BANO, вполне возможно, что ты наткнешься на какой нить прототип добавленный сторонней библиотекой, это раз.
For .. in не обязательно перебирает по порядку, в отличии от обычного for
0
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
19.09.2014, 22:24  [ТС] 8
а мне неважно по порядку или нет просто перебирает и вытягивает всю нужную инфу и немного изменяет если надо
0
Модератор
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
19.09.2014, 22:25 9
BANO, проблема немного в другом. В том, что цикл for in передает индекс, как строковую переменную ( ибо предназначен изначально, для объекта и его свойств ), а значит :

Javascript
1
2
3
4
var arr = [0,0,0,0,0];
for(var i in arr) {
    arr[i] += i;
}
Ты думаешь что мы получим [0,1,2,3,4], но так как i = строка, то и сложение идет число+строка = стока. Ответ получится другой: ["00","01","02","03","04]
0
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
19.09.2014, 22:32  [ТС] 10
нет это не правильно думаешь
смотри
Javascript
1
2
3
4
5
6
7
8
entity={
dog:{pos:{x:56,y:34}, echo:"gaf"},
ball:{pos:{x:23,:y:w}}
}
for (keys in entity) {
console.log(keys);
pos=entity[keys].pos.x
}
Добавлено через 1 минуту
выведет
dog
ball
а в pos=23
0
7 / 7 / 6
Регистрация: 30.12.2009
Сообщений: 43
19.09.2014, 22:34 11
BANO, так, а причем здесь массив? Если у тебя объект
0
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
19.09.2014, 22:45  [ТС] 12
оооооооооооооооооооооооооо тк обект это ассооооци ну вы поняли МАССИВ
0
7 / 7 / 6
Регистрация: 30.12.2009
Сообщений: 43
19.09.2014, 22:46 13
BANO, причем здесь это, если он у тебя объявлен, как массив?
0
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
19.09.2014, 22:57  [ТС] 14
он как обект обявлен


да всё я разобрался с тем вопросом который задал в начале темы всё закрыли тему

Добавлено через 3 минуты
lux16, понял ща умную вещь скопи пейстчу
ассоциативный массив=объект
теперь понятно
0
7 / 7 / 6
Регистрация: 30.12.2009
Сообщений: 43
19.09.2014, 23:17 15
BANO, опечатка у меня.
Хорошо, я тебе приведу пример.

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
( function () {
    'use strict';
 
    var array = [ 0, 1, 2 ];
 
    for ( var el in array ) {
        console.log( array[ el ] );
    } // выдаст 0, 1, 2. Ничего странного
 
    Array.prototype.isUnique = function () {
        // тут какой-то код
    };  
 
    for ( el in array ) {
        console.log( array[ el ] );
    } // выдаст 0, 1, 2, function()
} () );
Вариант только добавить проверку:
Javascript
1
2
3
4
5
    for ( el in array ) {
        if ( array.hasOwnProperty( el ) ) {
            console.log( array[ el ] );
        }
    }
Но даже это можно обойти:
Javascript
1
2
3
    Array.prototype.hasOwnProperty = function () {
        return true;
    };
Добавлено через 8 минут
BANO, а вот такой вариант я бы посчитал корректным

Javascript
1
2
3
    for ( var i =  0, iMax = array.length; i < iMax; i += 1 ) {
        console.log( array[ i ] );
    }
Добавлено через 3 минуты
BANO, ну или такие два

Javascript
1
2
3
4
5
6
    var array = [ 0, 1, 2 ] ,
        arrayLength = array.length;
 
    while ( arrayLength -= 1 ) {
        console.log( array[ arrayLength ] );
    }
Javascript
1
2
3
4
5
    var array = [ 0, 1, 2 ];
 
    for ( var arrayLength = array.length; arrayLength -= 1; ) {
        console.log( array[ arrayLength ] );
    }
Да и как гласит народная мудрость, а также стандарт ES, то FOR .. IN медленнее обычного FOR
0
Ренегат
Эксперт HTML/CSS
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
20.09.2014, 00:03  [ТС] 16
Цитата Сообщение от lux16 Посмотреть сообщение
Да и как гласит народная мудрость, а также стандарт ES, то FOR .. IN медленнее обычного FOR
вот насчёт этого не знал спс
0
20.09.2014, 00:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2014, 00:03
Помогаю со студенческими работами здесь

Добавление элементов в ассоциативный массив
Добрый вечер, Мой код: &lt;input type=&quot;button&quot; value=&quot;Ввод информации о продукте&quot;...

Из формы в ассоциативный массив
Здравствуйте! Я хочу, чтобы данные из формы заполнялись в ассоциативный массив, а затем массив...

Преобразовать массив в ассоциативный
как преобразовать массив в ассоциативный? пишу следующее: arr= res=...

Как вывести ассоциативный массив?
Делал ajax запрос,он возвращает массив,но вот уже целых полчаса не могу вывести этот массив,не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru