【问题标题】:How to create an array of objects for testing?如何创建用于测试的对象数组?
【发布时间】:2019-03-12 17:36:28
【问题描述】:

我是 json 和 javascript 的新手,但我对 Java 有一些经验。我想知道如何创建对象数组,但不知道如何设计。我想做的是能够打电话

object1.field1

object1 存储在一个数组中,例如

array = [object1, object2, object3...];

object1 内部看起来像

object1:
   field1: value1,
   field2: value2,

所以我的问题是如何创建数组来保存这些值,以便我可以将其用于测试?我在想两种可能的设计:

array: [
  object1:{
    field1: value1, 
    field2: value2}, 
  object2: {
    field1: value1, 
    field2: value2}]

array: {
  object1:[
    field1: value1, 
    field2: value2], 
  object2: [
    field1: value1, 
    field2: value2]}

我认为第一个是正确的,因为如果字段存储在数组中,则无法调用 object1.field1

【问题讨论】:

  • 您的第二个选项不是有效的 JS。坚持第一个,它是实际代码,第二个是尝试像使用对象一样使用数组。

标签: javascript json


【解决方案1】:

你的第一个选项是正确的。你可以创建

let myArray = [
   {
       field1: value1, 
       field2: value2
   }, 
   {
       field1: value1, 
       field2: value2
   }
]

但是,对于 JS 数组,您不能执行 myArray.object1,因为这种方式只能访问对象属性。要访问object1,您需要获取它在数组中的索引,例如myArray[0] 获取数组的第一个元素,相当于object1

【讨论】:

    【解决方案2】:

    您的第一个选项接近实际代码

    您通过以下方式定义您的对象:var object = {};

    您可以使用object.field1 = "value1";console.log( object.field1 ); 设置或获取其属性

    祝你好运!

    【讨论】:

      【解决方案3】:

      这就是你所需要的(用你需要的任何长度替换 10)

      var arrOfObjects = new Array(10).fill({
        field1: 'value1',
        field2: 'value2'
      })

      【讨论】:

        【解决方案4】:

        试试这个:

        var array = [];
        var object = { field1:"value1", field2:"value2" };
        array.push(object);
        

        var array = 
        [
         {
          field1: "value1", 
          field1: "value2" 
         }
        ];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-24
          • 2019-09-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多