无法使用 jquery.each 遍历关联数组

Cant iterate through an associative array using jquery.each

好吧,我以前用过 jquery.each,但今天似乎是我糟糕的一天,因为无论我做什么都出错了。我使用以下命令从数组中获取值,但我得到

TypeError: invalid 'in' operand a

JS

var updateBoard = function() {
        $.ajax({
            type: "POST",
            url: "engine/main.php",
            data: {code: 2},
            success: function(response) {
                $.each(response, function(i, val) {
                    console.log(i);
                });
                setTimeout(updateBoard, 2500);
            }
        });
    };
    updateBoard();

我的成功函数中的响应

Array
(
    [0] => Array
        (
            [cell] => a2
            [sign] => ◯
        )

    [1] => Array
        (
            [cell] => b2
            [sign] => ◯
        )

)

每个它只在 jQuery 元素上工作,但响应不与 jQuery 选择器绑定,所以只需像这样使用 javascript 循环

如果你的响应是一个数组,你可以使用 es6 的 map 函数或 foreach 函数

尝试:

response.map(function(obj){
  console.log(obj)
})

response.forEach(function(obj){
  console.log(obj)
})

MDN 来源

foreach

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

地图

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

试试

var obj = JSON.parse(response);
$(obj).each(function(i, val) {
  console.log(val.cell);
  console.log(val.sign);
});