【问题标题】:How to return object?如何返回对象?
【发布时间】:2016-09-01 07:54:21
【问题描述】:

Javascript

对象

var initialstate = {
  ddd:{
    aa: '',
    aaa: ''
  }

语法错误

return {
  ddd.aa = action.aa,
  ddd.aaa = action.aaa
}

没有错误

return {
  aa = action.aa,
  aaa = action.aaa
}

如何返回一个包含多个嵌套值的 javascript 对象

【问题讨论】:

  • 尝试使用冒号:而不是等于=
  • 而这与 JSON 无关。 JSON 是一种用于数据交换的文本表示法。如果您正在处理 JavaScript 源代码,而不是处理 string,那么您就不是在处理 JSON。

标签: javascript reactjs return redux


【解决方案1】:

你需要遵守规则。

JSON 语法规则

  • 数据采用名称/值对(冒号分隔)
  • 数据用逗号分隔
  • 花括号可容纳对象
  • 方括号包含数组

【讨论】:

    【解决方案2】:

    返回一个对象与定义一个变量来保存一个对象的工作方式相同。就像您使用var initialstate = { 来初始化一个新对象一样,返回一个新对象也是如此,您只需将var initialstate = 替换为return

    return {
      ddd: {
        aa: action.aa,
        aaa: action.aaa
      }
    }
    

    【讨论】:

      【解决方案3】:

      您违反了对象的 JavaScript 语法。

      对象字面量具有以下规则:

      • 冒号将属性名称与值分开。
      • 逗号分隔每个 下一个名称-值对。
      • 后面不能有逗号 姓氏-值对。

      这是一个对象字面量:

      var obj = {};
      

      您可以使用以下语法为它们分配属性和值:

      var obj = {
         myStringProperty: "a string value",
         myNumberProperty: 15,
         myBooleanProperty: false,
         myArrayProperty: [...],
         myFunctionProperty: function (...) {...},
         myComplexProperty: {
             name: "My Name",
             surname: "My Surname",
             family: {
                 father: {
                     name: "His name",
                     age: 60
                 }
             }
         }
      }
      

      如您所见,您可以将任何有效的 JavaScript 原始类型或复杂的嵌套对象或数组或函数作为属性。任何有效的 JavaScript。

      对于带有特殊字符的复杂名称,例如“my.car”,您可以将您的属性放在引号中,如下所示:

      var obj = {
         "my.car": {
              brand: "Brand",
              model: "Model"
          }
      } 
      

      要获取“my.car”对象,您不使用点表示法,而是使用方括号,就像在字典中通过键获取值一样。 像这样:

      var item = obj["my.car"]; // returns the object defined previously

      请查看一些简单的 101 教程,例如:

      【讨论】:

      • 如果我想改为使用嵌套范围怎么办?所以"my.car"实际上是嵌套my对象中的car,当前将其保存为“my.car”创建一个新元素
      • 我不太确定你在这里问什么。你想拥有这样的东西吗? var obj = { my: { car: { brand: "Brand", model: "Model" } }}
      【解决方案4】:

      你可以试试这个

      var myJsonString = JSON.stringify(yourArray);
      var x1 = myJsonString.ddd[0];
      var aa=x1.aa;
      var aaa=x1.aaa;
      

      【讨论】:

        猜你喜欢
        • 2013-05-02
        • 1970-01-01
        • 2011-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-14
        • 1970-01-01
        相关资源
        最近更新 更多