Javascript 推送对象';将内容放入数组中
我想将底部对象的内容推入数组,如下所示:Javascript 推送对象';将内容放入数组中,javascript,Javascript,我想将底部对象的内容推入数组,如下所示: var userArray = [{"xp":200,"level":3,"name":"User 1"},{"xp":300,"level":3,"name":"User 2"},{"xp":100,"level":3,"name":"User 3"},] 但是,每次我尝试使用for循环来执行userArray.push(I),并将其推入userArray,它都会返回[undefined,undefined,undefined] { "129
var userArray = [{"xp":200,"level":3,"name":"User 1"},{"xp":300,"level":3,"name":"User 2"},{"xp":100,"level":3,"name":"User 3"},]
但是,每次我尝试使用for循环来执行
userArray.push(I)
,并将其推入userArray
,它都会返回[undefined,undefined,undefined]
{
"1293818383": {
"xp": 200,
"level": 3,
"name": "User 1"
},
"235489445527289867": {
"xp": 300,
"level": 1,
"name": "User 2"
},
"123189273132": {
"xp": 100,
"level": 3,
"name": "User 3"
}
}
我做错了什么?使用它将返回对象自身可枚举属性值的数组
var x={
"1293818383": {
“xp”:200,
"三级",,
“名称”:“用户1”
},
"235489445527289867": {
“xp”:300,
"一级",,
“名称”:“用户2”
},
"123189273132": {
“xp”:100,
"三级",,
“名称”:“用户3”
}
}
console.log(Object.values(x))
@etanc,请查看下面的代码
var json_obj = {
"1293818383": {
"xp": 200,
"level": 3,
"name": "User 1"
},
"235489445527289867": {
"xp": 300,
"level": 1,
"name": "User 2"
},
"123189273132": {
"xp": 100,
"level": 3,
"name": "User 3"
}
}
var arr = [];
for(var key in json_obj) {
arr.push(json_obj[key])
}
console.log(arr)
/*
[{ xp: 200, level: 3, name: 'User 1' },
{ xp: 300, level: 1, name: 'User 2' },
{ xp: 100, level: 3, name: 'User 3' } ]
*/
如果您的数据很大,那么您将无法正确查看数据,除非您不格式化数据。使用JSON.stringify()对上述o/p进行格式化,以漂亮的形式查看,如下所示
JSON.stringify(arr, null, 4);
/*
[
{
"xp": 200,
"level": 3,
"name": "User 1"
},
{
"xp": 300,
"level": 1,
"name": "User 2"
},
{
"xp": 100,
"level": 3,
"name": "User 3"
}
]
*/
您需要将JSON解析为JS对象才能启动。然后可以在对象上循环
// initial js object
let initial = {"1293818383": {"xp": 200,"level": 3,"name": "User 1"}, "235489445527289867": {"xp": 300, "level": 1, "name": "User 2"}, "123189273132": { "xp": 100, "level": 3, "name": "User 3" }
}
// convert object to json -- THIS IS START OF QUESTION
let json = JSON.stringify(initial)
// intantiate userArray
var userArray = []
// parse json into js object
var parsed = JSON.parse(json)
for (let obj in parsed){
// use each key of object to get value
userArray.push(parsed[obj])
}
console.log(userArray)
// [ { xp: 200, level: 3, name: 'User 1' }, { xp: 300, level: 1, name: 'User 2' }, { xp: 100, level: 3, name: 'User 3' } ]
这些是JavaScript对象。JSON是一个字符串。“每次我尝试使用for循环时”添加您的代码plz我们如何知道
userArray.push(I)