【问题标题】:Create a specific object array in javascript在javascript中创建一个特定的对象数组
【发布时间】:2015-01-19 17:04:40
【问题描述】:

我需要用这种结构在javascript中创建一个对象数组:

    var nodes = {
        '0': { 'label': 'abc' },
        '1': { 'label': 'cdf' },
        '2': { 'label': 'kjh' },
        '3': { 'label': 'wef' },
        '4': { 'label': 'vrg' }
    }; 

我试过这样但没有成功:(

    var nodes = {};
    for (var i = 0; i < 4; i++) {
        nodes[i] = { i: { 'label': 'xpto'+i } };
    }

有什么想法吗?

提前致谢!

【问题讨论】:

    标签: javascript html arrays json


    【解决方案1】:
     var nodes = {};
     for (var i = 0; i <= 4; i++) {
        nodes[i] = { 'label': 'xpto'+i };
     }
    

    【讨论】:

      【解决方案2】:

      这给出了实际需要的:

      var nodes = {};
      for (var i = 0; i < 4; i++) {
          nodes[i+""] = { 'label': 'xpto'+i };
      }
      

      【讨论】:

      • +"" 没用。
      • the +"" 把键变成字符串而不是int
      • 如果你传递的不是字符串,它首先被转换为字符串。
      • @Haketo,真的吗?只是检查它)
      【解决方案3】:

      只需简单的基本标签代码即可创建对象数组

      var object = {};  // Object declaration 
      var objectArray = [];  // Array declartion 
      
      object = {'id':1 , 'propertyName1': "value1", 'propertyName2': "value2",'propertyName3': "value3"} // assign vlaue into object 
      
      objectArray.push(object); // push object into array 
      
      console.log(objectArray[0]);  
      

      【讨论】:

        【解决方案4】:

        您不能在对象键中使用变量..
        所以你总是需要在你的 leftval 中提供它:

        nodes[i] = {'label': 'test'+i};
        

        【讨论】:

          猜你喜欢
          • 2016-07-11
          • 1970-01-01
          • 2022-01-07
          • 2017-06-24
          • 1970-01-01
          • 1970-01-01
          • 2018-06-05
          • 2021-06-07
          • 2021-10-03
          相关资源
          最近更新 更多