|
Определить тип массива
Здравствуйте!
Подскажите как отличить обычный массив от ассоциативного ?
var a = [1,2,3,4,5];
var b = {'var1':1, 'var2':2}
|
Для начала прочитать это: http://alljs.ru/articles/array/whatis
|
Однозначно, учить основы! По теме:
if( !Array.isArray ) Array.isArray = function(){
return Object.prototype.toString.call( arguments[ 0 ] ) == "[object Array]";
};
var a = [1,2,3,4,5];
var b = {'var1':1, 'var2':2};
alert([ Array.isArray( a ), Array.isArray( b ) ]);
|
Цитата:
|
Цитата:
|
Цитата:
Ассоц-массив это таблица из двух стобликов (слово - ассоциация) хэш это таблица из двух столбцов (ключ - значение) В ДАННОМ СЛУЧАЕ В JS это одно и то же! Всем привет! |
var a = [1, 2, 3, 4, 5]; // массив
var b = { var1: 1, var2: 2 }; // объект, который может выступать как ассоциативный массив
alert(a instanceof Array); // true
alert(b instanceof Object); // true
// при этом
alert(a instanceof Object); // true
|
Ну обьект я имею ввиду не как Класс, а как сама суть устройство!
Классы то ясен хрен наследуют)) То есть a в данном случае имеет дедушку Object/ Оператор доходит до Array? смотрит, не, не то, идет дальше, смотрит , да, во во, то! И выдает тру! a => Array => Object |
Щас обьясню в чем разница в стиле моей книги)
ХЭШ это фигня которую придумали люди, абстракция) это просто название) хэшэм может работать все из двух столбцов , где правое значение в строчке логически соответствует левому! Даже долбанный массив обычный можно понимать как хэш. В ДАННО СЛУЧАЕ это просто игра слов! А то что люди говорят - это не то, это другое, это выевыемоны) можешь их даже не слушать и не напрягать мозг) я обьяснил что это такое, нет в js ни хешей нет ни ассоц массивов) ни чего этого нет. Дело в том что это все одно и то же, ПОТОМУ ЧТО РАБОТАЕТ ОДИНАКОГО ПРОСТО НАЗВАНИЯ РАЗНЫЕ, да и обьекты в js с этим тоже одно и то же отому что подходят под описание этих хешей, ассоц массивов и.т.п.) вот. |
Цитата:
|
| Часовой пояс GMT +3, время: 11:59. |
|