简体   繁体   English

无法迭代jQuery中的键/值数组

[英]Cannot iterate over a key/value array in jQuery

I have an array in the following form: 我有以下形式的数组:

[
   849D7F716C80E6FBA1B6C984AC671CFA6BA19BEF: Array[7],
   13C29365E98124E760AE090047358D2C76C82D4C: Array[7],
   1165565F4A1EDB8DD07E617D56F73BF81F9CB184: Array[7], 
   F12A4A88F71EC50751D3E11F4AA331699CDED76: Array[8]
]

The sub arrays are objects: 子数组是对象:

3F12A4A88F71EC50751D3E11F4AA331699CDED76: Array[8] >
  0: Object
  1: Object
  2: Object
  3: Object
  4: Object
  5: Object
  6: Object
  7: Object

I can see it on my console using 我可以在控制台上使用

console.log(arr);

But if I do this: 但是,如果我这样做:

$.each(arr, function (key, value)
{
    console.log(key);
    console.log(value);
});

Nothing happens. 什么都没发生。 Why?! 为什么?! It should print something like this: 它应该打印如下内容:

> 849D7F716C80E6FBA1B6C984AC671CFA6BA19BEF
> Array[7]
> 13C29365E98124E760AE090047358D2C76C82D4C
> Array[7]
> 1165565F4A1EDB8DD07E617D56F73BF81F9CB184
> Array[7]
> F12A4A88F71EC50751D3E11F4AA331699CDED76
> Array[8]

This: 这个:

[
   849D7F716C80E6FBA1B6C984AC671CFA6BA19BEF: Array[7],
   13C29365E98124E760AE090047358D2C76C82D4C: Array[7],
   1165565F4A1EDB8DD07E617D56F73BF81F9CB184: Array[7], 
   F12A4A88F71EC50751D3E11F4AA331699CDED76: Array[8]
]

Is not a valid syntax for array initialisation. 这不是数组初始化的有效语法。 Array elements do not have key/values they just have values - perhaps you meant to create an object literal: 数组元素不具有键/值,而仅具有值-也许您打算创建对象文字:

{
   849D7F716C80E6FBA1B6C984AC671CFA6BA19BEF: Array[7],
   13C29365E98124E760AE090047358D2C76C82D4C: Array[7],
   1165565F4A1EDB8DD07E617D56F73BF81F9CB184: Array[7], 
   F12A4A88F71EC50751D3E11F4AA331699CDED76: Array[8]
}

Once you do it that way, your code works fine: https://jsfiddle.net/veky1dk5/ 一旦这样做,您的代码就可以正常工作: https : //jsfiddle.net/veky1dk5/

make it as json array and then use each like 使它成为json数组,然后使用每个like

[ {  '849D7F716C80E6FBA1B6C984AC671CFA6BA19BEF': Array[7],


'13C29365E98124E760AE090047358D2C76C82D4C': Array[7],


'1165565F4A1EDB8DD07E617D56F73BF81F9CB184': Array[7], 


'F12A4A88F71EC50751D3E11F4AA331699CDED76': Array[8] }] 

Why are you using a and b in console. 为什么在控制台中使用a和b。 Use key and value in printing console: 在打印控制台中使用键和值:

$.each(arr, function (key, value)
{
    console.log(key);
    console.log(value);
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM