【发布时间】:2017-09-19 00:06:12
【问题描述】:
我正在尝试将对象 userinfo 复制到数组中。当我尝试控制台记录新数组时,我一直不确定。任何帮助将不胜感激!
JS:
var JSONstring = [{
"name": "test",
"properties": {
"age": "19r",
"userinfo": {
"city": "Dallas",
"state": "Texas"
}
}
}];
$(document).ready(function() {
var userinfo = {};
for (var i = 0; i < JSONstring.length; i++) {
var user = JSONstring[i].properties.userinfo;
if (user === undefined) {
continue;
} else if (userinfo[user] === undefined) {
userinfo[user] = [];
userinfo[user].push(i);
} else {
userinfo[user].push(i);
}
}
console.log(userinfo[0]);
});
【问题讨论】:
-
userinfo[user]没有多大意义,user要么是未定义的,要么是一个对象。对象键始终是字符串。 -
因此,您的示例中的对象类型存在一些问题。您的 JSONstring var 是一个对象,它没有 .length 成员。您的用户信息“数组”也是一个对象。
-
请注意变量名
JSONstring具有极大的误导性,因为变量的值是一个数组,而不是字符串(包含 JSON)。调用 JavaScript 对象“JSON”是一个(不幸的)常见错误。 -
@FelixKling ok 会记住这一点
-
@Ken: NVM 然后 :)
标签: javascript arrays json list object