如何引用字符串数组中的字符串?

这个问题在这里已经有了答案:

  • 在JavaScript中循环访问数组35个答案

  • 在数组上进行Itearting:

    这是一个字符串数组,不要使用for..in ,使用vanilla for循环:

    var tags = ["Favorite", "Starred", "High Rated"];
    for (var i = 0; i < tags.length; i++) { // proper way to iterate an array
        console.log(tags[i]);
    }
    

    输出:

    Favorite
    Starred
    High Rated
    

    正确使用for..in

    它意味着对象的属性,如:

    var tags2 = {"Favorite": "some", "Starred": "stuff", "High Rated": "here"};
    for (var tag in tags2) { // enumerating objects properties
        console.log("My property: " + tag +"'s value is " +tags2[tag]);
    }
    

    输出:

    My property: Favorite's value is some
    My property: Starred's value is stuff
    My property: High Rated's value is here
    

    for..in与数组的副作用:

    不要拿我的话,让我们看看为什么不使用它: for..in在数组中可能会有副作用。 看一看:

    var tags3 = ["Favorite", "Starred", "High Rated"];
    tags3.gotcha = 'GOTCHA!'; // not an item of the array
    
    // they can be set globally too, affecting all arrays without you noticing:
    Array.prototype.otherGotcha = "GLOBAL!";
    
    for (var tag in tags3) {
        console.log("Side effect: "+ tags3[tag]);
    }
    

    输出:

    Side effect: Favorite
    Side effect: Starred
    Side effect: High
    Side effect: GOTCHA!
    Side effect: GLOBAL!
    

    查看这些代码的演示提琴。


    在JavaScript中使用in for循环不像:在Java或其他语言的foreach中 - 不是提供对元素的引用,而是提供其索引。 如果你使用像jQuery这样的框架,有一个方法 - $.each ,它可以在迭代时通过回调访问元素(不仅仅是索引):

    var a = ["Favorite", "Starred", "High Rated"];
    $.each ( a, function ( index, data ) 
    {
       console.log ( data );
    });
    
    链接地址: http://www.djcxy.com/p/24529.html

    上一篇: How do I reference the string in a array of strings?

    下一篇: loop through nested object properties