|
Определить тип массива
Здравствуйте!
Подскажите как отличить обычный массив от ассоциативного ? 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, время: 07:24. |
|