【问题标题】:Getting values from jQuery object array based on key not array number基于键而不是数组编号从jQuery对象数组中获取值
【发布时间】:2020-06-04 14:40:00
【问题描述】:

我需要从通过 $.post 返回的对象中获取值,但是 2 个数组的顺序可以更改,因此我需要根据键获取它们。问题是密钥是在数组内部返回的。下面的例子。

{
Id: "AETVXXXXXXXX", HasError: false, Error: null, FinanceQuotations: Array(2)}
    Error: null
    FinanceQuotations: Array(2)
        0:
            Blocks: [{…}]
            Error: null
            Finance: {Key: "HP", Notifications: Array(0), Quote: {…}, Product: {…}, Retailer: {…}}
            HasError: false
            __proto__: Object
        1:
            Blocks: [{…}]
            Error: null
            Finance: {Key: "PCP", Notifications: Array(0), Quote: {…}, Product: {…}, Retailer: {…}}
            HasError: false
            __proto__: Object
            length: 2
            __proto__: Array(0)
        HasError: false
        Id: "AETVXXXXXXXX"
        __proto__: Object
}

我通常会深入到数组中并使用以下内容将值分配给 var:

var durationValue = (value.FinanceQuotations[1].Blocks[0].Details[0].DisplayValue);

但是由于数组顺序现在很容易发生变化,它不会总是返回相同的产品,数组中的第一个返回错误的值。

如何遍历数组并获取键的值?在这种情况下,两个键是“HP”和“PCP”...

谁能帮我解决这个问题?

提前致谢。

【问题讨论】:

标签: javascript jquery json .post


【解决方案1】:

唯一的方法是像这样创建“关联数组”对象:

var a = {
  "HP": ...
  "PCP": ...
  "OTHER_KEY": ...
}

然后使用“for-in”循环迭代项目:

for (key in a) {
   alert(key);
   alert(a[key]);
}

【讨论】:

  • 当有人说“唯一的方法”时,程序员应该始终抱有极大的怀疑。
  • 其他方式可能适用于非程序员;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-24
  • 1970-01-01
  • 1970-01-01
  • 2017-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多