gpt4 book ai didi

JavaScript 对象;访问 json 数组时出现问题

转载 作者:行者123 更新时间:2023-11-30 20:51:16 24 4
gpt4 key购买 nike

我无法从我的 json 对象中检索数据;以下代码在控制台中返回 undefined for var r 但非常相似的代码(如下所示)在 JSFiddle 中有效。

 var currentIMGArray = new Array();

$.ajax({
url:"foo.php",
type: "post",
data: {
action: "foo",
parameter: foo,
},
dataType: "json",
success: function (result) {
currentIMGArray = result[3];
console.log(currentIMGArray);
},
});


$(document).ready(function(){

$("#W").on("click", ".IMG", function() {

console.log("currentIMGArray: "+currentIMGArray.toString());

var IMGid = $(this).attr("id");
console.log("IMGid: "+IMGid);

var r = currentIMGArray.IMGid;
console.log("r: "+r);
})
})

这是控制台输出:

[Log] {imgGallery0: "1.jpg", imgGallery1: "2.jpg"} 
[Log] currentIMGArray: [object Object]
[Log] IMGid: imgGallery0
[Log] r: undefined

但是这段代码在 JSfiddle 中有效,所以我很困惑区别在哪里?

var arr = {imgGallery0: "1.jpg", imgGallery1: "2.jpg"};
var b = arr.imgGallery1;
console.log(b)

最佳答案

使用 var r = currentIMGArray[IMGid];而不是 var r = currentIMGArray.IMGid;

由于 IMGid 是一个变量并且可以更改其值,因此您需要使用数组样式方法访问内容 currentIMGArray[IMGid] 这意味着 currentIMGArray[IMGid] strong>IMGid 变量 imgGallery0imgGallery1currentIMGArray 对象中获取那个确切的键。想象一下,如果您有类似 {imgGallery0: "1.jpg", imgGallery1: "2.jpg", IMGid: '3.jpg'} 的内容,您将如何获得 3.jpg currentIMGArray.IMGid 在这种情况下将返回 3.jpg

关于JavaScript 对象;访问 json 数组时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48152958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com