【问题标题】:Referencing / Parsing an object [duplicate]引用/解析对象[重复]
【发布时间】:2018-07-25 08:12:27
【问题描述】:

这里很简单的问题,我有以下变量。以这样的格式设置 {item number: quantity, item number, quantity....}

var x = {4214061251:1,2497227651:2,4214140739:2};

我的问题只是我如何正确循环访问每个元素。

我希望能够分别访问商品编号和数量,我该如何实现?

【问题讨论】:

  • for(var key in x){console.log(key, x[key]); }

标签: javascript jquery


【解决方案1】:

var x = {4214061251:1,2497227651:2,4214140739:2};

// Array of all keys 4214061251, 2497227651 ...
var keysArr = Object.keys(x);
console.log(keysArr);

// Iterate on keys
keysArr.forEach(
  (el) => {
    // To access keys
    console.log("Key: "+el);
    
    // To access values instead
    console.log("Value: "+x[el]);
  }
)

【讨论】:

  • 为什么这么复杂的逻辑,可以直接用for(var key in x){console.log(key, x[key]); }
  • @RahulSharma 如果您使用 for in 循环对象中的属性名称,则结果没有排序。更糟糕的是:你可能会得到意想不到的结果;它包括从原型链继承的成员和方法的名称。
  • 结果没有排序?我不明白这一点,因为在 JSON 对象中您无法决定顺序或键。请帮助我理解。
  • If you use for in to loop over property names in an object, the results are not ordered 使用Object.keys 时也没有排序。诚然,他们通常是,但绝对不能保证。无论如何,排序与 OP 问题无关。
  • @RahulSharma 这对你来说可能很有趣stackoverflow.com/a/23202095/1496715
猜你喜欢
  • 1970-01-01
  • 2014-02-12
  • 1970-01-01
  • 1970-01-01
  • 2015-01-12
  • 2011-06-28
  • 2023-03-07
  • 1970-01-01
  • 2013-07-31
相关资源
最近更新 更多