【问题标题】:How to obtain an object specific value?如何获取对象的特定值?
【发布时间】:2019-12-17 10:16:58
【问题描述】:

我从一个 php 文件中得到以下对象:

[
 {"val1":"A","val2":"TA","val3":"5"}, 
 {"val1":"A","val2":"TB","val3":"3"}, 
 {"val1":"A","val2":"TC","val3":"2"}
]

我尝试过这样做:

{label: {data:'val1'} }

{label: {data:'val1'[0]} }

{label: {data:['val1'][0]} }

但到目前为止还没有运气获得我想要的价值。

这是我处理对象数据的代码部分:

var containerD1 = document.getElementById('tabD1');
var hotD1 = new Handsontable(containerD1, {
  rowHeaders: true,
  colHeaders: true,
  columns: [
    {type:'text', data: 'val2', readOnly:true},
    {type:'text', data: 'val3', readOnly:true},
  ],
  nestedHeaders: [
    [{label: {data:'val1'}, colspan: 2}],
    ['Val2','Val3']
  ]
  });

由于 val1 的值是动态的,我无法像对 val2 和 val3 所做的那样设置它

所以我想要实现的是从 val1 中获取值,以便能够在 nestedHeaders 部分中将其用作我的表的标题,因为这个值在我的对象中重复出现,我从哪个对象开始并不重要拿去吧。

到目前为止,我得到的是这样的表格

+------+------+
|   object    |
+------+------+
| val2 | val3 |
+------+------+
| TA   |    5 |
| TB   |    3 |
| TC   |    1 |
+------+------+

在对象部分,在我的表中它说这个[对象对象]。 所以我猜它实际上是作为一个对象而不是我想要的值来读取的。

我正试图得到这样的东西:

+------+------+
|      A      |
+------+------+
| val2 | val3 |
+------+------+
| TA   |    5 |
| TB   |    3 |
| TC   |    1 |
+------+------+

【问题讨论】:

  • 如果您设置了一个我们可以运行的完整代码 sn-p,您更有可能得到一个好的答案!
  • 您确定 php 文件/端点返回正确的 JSON 吗?您可以通过执行 typeof 或将其解析出 JSON.parse() 来检查
  • 在我的 php 文件中,我使用以下代码发送我的对象: $myJSON = json_encode($arrayTop);回声 $myJSON; ,这会发出对象但没有名称,只是纯对象

标签: javascript object handsontable


【解决方案1】:

编码sn -p 获取val1的值

{标签:{数据:数据[0].val1}}

【讨论】:

    【解决方案2】:

    我不确定我是否理解正确。如果您想在对象中获取 val1 属性的值,我会这样做(因为您说从数组的哪个元素中获取它并不重要):

        const data = [
     {"val1":"A","val2":"TA","val3":"5"}, 
     {"val1":"A","val2":"TB","val3":"3"}, 
     {"val1":"A","val2":"TC","val3":"2"}
    ]
    
    console.log(data[0]["val1"])
    

    或者,您可以编写: console.log(data[0].val1) 而不是最后一行代码。

    【讨论】:

    • 由于我的对象不是这样定义的,我不能那样使用它。它实际上只是用我的网络选项卡中的值定义的
    • 那是您发布的数据的格式。你能以@carlos.p 的格式发布数据吗?
    • 我的意思是,这就是数据本身,只是没有声明为 const 或任何类型的变量
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    相关资源
    最近更新 更多