Как получить идентификатор массива в JavaScript? - PullRequest
1 голос
/ 27 апреля 2010

как я могу получить идентификатор ассоциативного массива (не объекта Array) в цикле for?

вроде так:

var i = 0;
for(i=0;i<=myArray;i++)
{
   if(myArray.ident == 'title') alert('The title is ' + myArray['title']);
}

Ответы [ 5 ]

7 голосов
/ 27 апреля 2010

Вы можете сделать это, используя другой цикл for(), например:

var myArray = { title: "my title", description: "my description" };
var i = 0;
for(var i in myArray) {
   //if(i == 'title') is the check here...
   alert('The '+ i + ' is ' + myArray[i]);
}​

Внутри цикла, i - ваш идентификатор, например, title и description. Вы можете поиграть с этим примером здесь

2 голосов
/ 20 мая 2013
var i;
var mycars = new Array();
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";

for (i = 0; i < mycars.length; i++) {
  document.write(mycars[i] + "<br>");
}
0 голосов
/ 27 апреля 2010

Как писал @Nick Craver, переберите ваш объект данных (ассоциативный массив), предпочтительно используя компактный синтаксис, и проверьте, соответствует ли свойство вашей строке:

var myData = { /* properties: values */ } ;
var string = /* string to match */ ;

    for(var n in myData) {

            if(n == string) {
                // do something
            }

    }
0 голосов
/ 27 апреля 2010

Зависит от того, как вы строите myArray, в общем:

var myArray = {
   title: "foo",
   bleep: "bloop"
}

for (var k in myArray) {
   if (k == "title") 
      alert('The title is ' + myArray[k]);
}
0 голосов
/ 27 апреля 2010

идентификатор - это идентификатор в вашем случае, а 'title' - его значение.

Пожалуйста, покажите нам фактический массив ..

обычно, чтобы перебрать ассоциативный массив, вы бы сделали это следующим образом ..

for (key in myArray)
  {
    if (key == 'title')
      alert('The title is ' + myArray[key]);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...