Вы должны знать, что Array
наследуется от Object
.
. В JavaScript любой экземпляр Object
является ассоциативным массивом (!), Поэтому действует как массив в PHP.Например:
var o = {}; // or new Object();
o['foo'] = 'bar';
o[0] = 'baz';
for (i in o) { console.log(i, o[i]); }
Сортировка Object
не имеет большого смысла.indexOf
вроде бы работает теоретически, но не реализовано.
Arrays
- упорядоченные списки.Array
экземпляры имеют push()
, length
, indexOf()
, sort()
и т. Д., Но они работают только для числовых индексов.Но опять же, Array
наследуется от Object
, поэтому любой массив также может содержать нечисловые индексные записи:
var a = []; // or new Array();
a[0] = 'foo'; // a.length is now 1
a.push('baz'); // a[1] === 'baz'
a.qux = 1; // will not affect a.length
a.sort(); // will not affect a.qux
for (i in a) { console.log(i, a[i]); }
Я рекомендую поиграть с массивами и объектами, и вы скоро поймете.