我有一个包含 4 个对象的 var,当我在控制台注销时会看到这些对象。但是我一直在尝试创建此返回变量的结构(我想对其进行排序但首先要重新创建结构),但在最后一个障碍上失败了。
这是控制台在原始变量上输出的内容:[Object, Object, Object, Object]
这是我通过created 变量得到的:[Object]
这是我尝试重新创建它的代码:
this.obj = [{items:[{code:'bravo',color:'blue',date:'2017-01-01',pos:'up'},
{code:'alpha',color:'blue',date:'2017-01-02',pos:'down'}],
color:'blue'}],
[{items:[{code:'bravo',color:'blue',date:'2017-01-01',pos:'up'},
{code:'alpha',color:'blue',date:'2017-01-02',pos:'down'}],
color:'green'}],
[{items:[{code:'bravo',color:'blue',date:'2017-01-01',pos:'up'},
{code:'alpha',color:'blue',date:'2017-01-02',pos:'down'}],
color:'red'}],
[{items:[{code:'bravo',color:'blue',date:'2017-01-01',pos:'up'},
{code:'alpha',color:'blue',date:'2017-01-02',pos:'down'}],
color:'yellow'}]
;
original和created的first objects是一样的,为什么看不到我的另外三个objects?如果我在我的代码周围添加两个 []
,它会看到所有四个,但随后它们已更改为数组而不是对象...
最佳答案
您的代码似乎有问题,如果您以可读的方式对其进行排序,那么它就很清楚了:
var obj = [
{
items: [{
code: 'bravo', color: 'blue', date: '2017-01-01', pos: 'up'
}, {
code: 'alpha', color: 'blue', date: '2017-01-02', pos: 'down'
}],
color: 'blue'
}] // <=== the array ends here, but now you have this:
, [{ items: [{ ...
然后编译器会这样做:
var obj = [
{
items: [{
code: 'bravo', color: 'blue', date: '2017-01-01', pos: 'up'
}, {
code: 'alpha', color: 'blue', date: '2017-01-02', pos: 'down'
}],
color: 'blue'
}
], _a = (void 0)[0], _b = ....
如您所见,它创建了另一个变量 (_a
) 来存储其他数据。
关于javascript - 尝试重新创建我的 console.log 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42325923/