gpt4 book ai didi

javascript - 使用 Javascript 循环遍历并从 JSON 表示法中提取项目值

转载 作者:行者123 更新时间:2023-11-28 15:39:16 25 4
gpt4 key购买 nike

我有以下 JSON:

{"items":
[
{"id":"5054","nodeId":"3286"},
{"id":"8888","nodeId":"7777"},
{"id":"3421","nodeId":"1234"},
{"id":"8748","nodeId":"2435"}
]
}

当我单击页面上的按钮时,我想运行一个脚本来检索以 JSON 表示法存储的 cookie 的值,然后循环遍历表示法中的项目,并将单击的按钮的 id 与存储在 JSON 中的 id。如果 id 匹配,则不执行任何操作。如果没有,则应将新项目添加到 JSON 对象并保存回 cookie,以便服务器下次加载页面时,显示不同的内容。

向现有 JSON 表示法添加新项目很简单,我已经有了相应的代码。问题是,我的循环 JSON 表示法的代码似乎不起作用:

var cookieTest = getCookie("wishlist"); /* JSON */

// Check a cookie exists
if (cookieTest != null) {

var test = JSON.parse(cookieTest)

for (prop in test) {
console.log(prop);
console.log(prop[0].id);
}
}

第一个 console.log 似乎返回项目,但是当我尝试返回数组中第一个项目的 id 时,返回未定义。

我在这里做错了什么?任何帮助将不胜感激。

最佳答案

for (in) 循环迭代对象的属性名称,而不是属性

var prop;
for (var p in test) {
prop = test[p];
console.log(p, prop, prop[0].id);
}

PS: 或者,如果您只想迭代名称为 itemstest 的属性(您已经知道您的属性名称)感兴趣并且该值将是一个数组)。

for (var i = 0, e = test.items.length; i < e; ++i) {
console.log(i, test.items[i], test.items[i].id);
}

关于javascript - 使用 Javascript 循环遍历并从 JSON 表示法中提取项目值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24454050/

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