.each не работает с массивом. Но .isArray возвращает true?

Я создал объект, который содержит несколько элементов, в том числе один, который содержит несколько объектов, каждый из которых содержит массив. Вот как это устроено.

$.myVar = {
    cp : "",
    ps : {
        m1 : ["001", "002", "003"],
        m2 : ["002", "004"]
    }
};

Мои скрипты продолжают вылетать из-за того, что у $ .myVar.ps ["m1"] нет метода для каждого.

Когда я вошел в консоль Chrome для исследования, я запустил следующее и получил отображаемый результат.

$.myVar.ps["m1"]
["001", "002", "003"]
$.myVar.ps["m1"].each( function (i, p) {alert(i)})
TypeError: Object 001,002,003 has no method 'each'

Также если я выполню следующее, это докажет, что m1 является массивом.

$.isArray($.myVar.ps["m1"])
true

Таким образом, кажется, что он согласен с тем, что m1 является массивом, но отказывается рассматривать его как таковой. Есть идеи, что я делаю не так?

5
задан McB 24 November 2010 в 19:03
поделиться