无法使用 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);
});
好吧,我以前用过 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);
});