【发布时间】:2020-01-12 17:43:15
【问题描述】:
我一直在尝试提出解决方案。我已经测试了一些堆栈解决方案来迭代嵌套对象,但还没有让它正常工作。我的数据结构如下。
我一直在尝试首先迭代嵌套对象,这个堆栈似乎与我的相似。
Iterate through Nested JavaScript Objects
但是,当我在 for 循环中访问地理、值对象以获取其所有属性、ip、主机名、城市等时,我空手而归,未定义。这是我在下面尝试过的代码 sn-p。
我正在尝试获取整个对象中的所有键和值,并将它们字符串化为一个漂亮的参数字符串,以便在 ajax 请求中发送到服务器。
for (var i = 0; i < myarray.length; i++) {
var o = myarray[i];
if (o.name === "geo") {
o.value.ip;
}
}
0: {name: "firstname", value: "John"}
1: {name: "lastname", value: "Smith"}
2: {name: "email", value: "asddas@gmail.com"}
3: {name: "password", value: "asdsdadasads"}
4: {name: "paypal_email", value: "asdsa@gmail.com"}
5: {name: "phone", value: "1234567894"}
6: {name: "geo",value: "
{"ip":"111.111.111.111","hostname":"rr.com","city":"MyCity","region":"Ohio","country":"US","loc":"41.34.23","org":"Inc","postal":"1234","timezone":"America/New_York","readme":"https://www.google.com"}"
__proto__: Object
length: 7
__proto__: Array(0)
【问题讨论】:
-
I'm coming up empty handed with undefined是否有错误信息,或者未定义什么值?你能成功进入if语句吗? -
也许给我们简化 myarray 示例以及您正在寻找的结果是什么
-
@CertainPerformance 我已经得到了 if 来评估 true,但是当 tri 到达嵌套值时,它在调试器中显示为未定义。
-
@GlenK - 对不起,我想我误解了你的要求。我正在寻找我发布的对象并遍历每个属性,甚至是嵌套属性,然后变成一个字符串,例如 firstname=john&lastname=smith&ip=111.111.111.11&hostname=rr.com 等
标签: javascript jquery arrays javascript-objects