【问题标题】:How to get array identifier in javascript?如何在javascript中获取数组标识符?
【发布时间】:2011-02-12 20:18:15
【问题描述】:

如何在 for 循环中获取关联数组(不是数组对象)的标识符?

像这样:

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

【问题讨论】:

  • 请告诉我们你的代码应该做什么,看起来你让事情变得比现在更复杂。我不知道您是否简化了循环,但现在完全没有必要,alert('The title is ' + myArray['title']) 就足够了(顺便说一句,关联数组是 JS 中的对象)。

标签: javascript arrays loops for-loop


【解决方案1】:

您可以使用不同的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 是您的标识符,例如titledescriptionYou can play with this example here

【讨论】:

    【解决方案2】:
    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>");
    }
    

    【讨论】:

      【解决方案3】:

      ident 是您案例中的标识符,'title' 是它的值..

      请告诉我们实际的数组..

      通常循环通过一个关联数组你会这样做..

      for (key in myArray)
        {
          if (key == 'title')
            alert('The title is ' + myArray[key]);
        }
      

      【讨论】:

        【解决方案4】:

        一般来说,在某种程度上取决于您如何构造myArray

        var myArray = {
           title: "foo",
           bleep: "bloop"
        }
        
        for (var k in myArray) {
           if (k == "title") 
              alert('The title is ' + myArray[k]);
        }
        

        【讨论】:

          【解决方案5】:

          正如@Nick Craver 所发布的,循环遍历您的数据对象(关联数组),最好使用紧凑的语法,并检查属性是否与您的字符串匹配:

          var myData = { /* properties: values */ } ;
          var string = /* string to match */ ;
          
              for(var n in myData) {
          
                      if(n == string) {
                          // do something
                      }
          
              }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2023-03-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-06-10
            • 1970-01-01
            相关资源
            最近更新 更多