代码之家  ›  专栏  ›  技术社区  ›  Sasha Grievus

在javascript中这是什么类型的对象?

  •  -4
  • Sasha Grievus  · 技术社区  · 6 年前

    我有一个对象“obj”。假设我们暂时不知道它来自哪里。

    如果我愿意的话

    console.log(JSON.stringify(obj));
    

    我得到

    [{"foo":101,"bar":1,"foobar":0},{"foo":102,"bar":1,"foobar":0}]
    

    这是什么东西?

    我要求看到两种我无法理解的行为:

    1)似乎是一个对象数组(?)所以我想

    console.log(obj[0])
    

    返回:

    {"foo":101,"bar":1,"foobar":0},{"foo":102,"bar":1,"foobar":0}
    

    相反,它返回:

    {"foo":101,"bar":1,"foobar":0}
    

    2)我希望

    for (var somevar in obj){ 
       console.log(JSON.stringify(somevar));
    }
    

    返回

    first step: {"foo":101,"bar":1,"foobar":0}
    second step: {"foo":102,"bar":1,"foobar":0}
    

    相反,它回来了

    first step: "0"
    second step: "1"
    

    有人能向我解释这个对象的性质以及为什么这两个案例(特别是第二个)返回这样的结果吗?

    4 回复  |  直到 6 年前
        1
  •  2
  •   Ankit Agarwal    6 年前

    obj 0 1 console.log(obj[0]); {"foo":101,"bar":1,"foobar":0}

    for (var somevar in obj) index var somevar of obj for value key

    var obj = [{"foo":101,"bar":1,"foobar":0},{"foo":102,"bar":1,"foobar":0}];
    
    for (var somevar of obj){ 
       console.log(JSON.stringify(somevar));
    }
        2
  •  2
  •   Lokesh Boran    6 年前

    var first_array = ['A', 'B', 'C', 'D'];
    var secound_array = [{"foo":101,"bar":1,"foobar":0},{"foo":102,"bar":1,"foobar":0}];
    

    array_variable[index]

    first_array[0] // output = A
    first_array[2] //output = C
    secound_array[0] // output = {"foo":101,"bar":1,"foobar":0}
    

    for..in

    for (var somevar in secound_array){ 
       console.log(JSON.stringify(somevar));
    }
    

    first step: 0
    second step: 1
    

    first step: {"foo":101,"bar":1,"foobar":0}
    second step: {"foo":102,"bar":1,"foobar":0}
    

    for (var somevar of secound_array){ 
       console.log(JSON.stringify(secound_array[somevar])); // here somevar is index of the item
    }
    

    click here for...of

    for (let o of secound_array) {
        console.log(o)
    }
    
        3
  •  1
  •   Bharata colxi    6 年前

    var obj = 
    [
        {"foo": 101, "bar":1, "foobar": 0}, //first element at index 0
        {"foo": 102, "bar":1, "foobar": 0}  //second element at index 1
    ];
    
    console.log(obj[0]);

    console.log(obj[0]); 0

    var obj = [{"foo": 101, "bar":1, "foobar": 0},{"foo": 102, "bar":1, "foobar": 0}];
    
    for (var somevar in obj){ 
        console.log(JSON.stringify(somevar));
    }

    for of for in

    var arr = [ 3, 5, 7 ];
    
    for(var i in arr) {
        console.log(i); // 0, 1, 2
    }
    
    console.log('-----');
    
    for(var i of arr) {
        console.log(i); // 3, 5, 7
    }
        4
  •  0
  •   Nsoseka    6 年前

    console.log(obj[0])