Javascript 在数组中追加为数组

Javascript 在数组中追加为数组,javascript,arrays,multidimensional-array,vue.js,vuejs2,Javascript,Arrays,Multidimensional Array,Vue.js,Vuejs2,我有一个像这样的对象,我可以使用下面的方法推送数据。我还初始化类型数据 myObj = { 1: ["a", "b", "c"], 2: ["c", "d", "e"], } 它很好用 但是,现在我希望我的对象如下所示: myObj = { 1: { "a": [ [],[] ], "b": [ [],[] ], } } 如何修改我的app

我有一个像这样的对象,我可以使用下面的方法推送数据。我还初始化
类型
数据

myObj = {
    1: ["a", "b", "c"],
    2: ["c", "d", "e"],
}

它很好用


但是,现在我希望我的对象如下所示:

myObj = {
    1: {
        "a": [
           [],[]
        ], 
        "b": [
           [],[]
        ],
       }
 }

如何修改我的append函数来像这样追加元素?

我只是根据@senty试图做的假设来回答这个问题:

pushValue是一种方法,它将数字作为键,字符作为值,并将它们保存到this.types中,每当调用
pushValue
时,
this.types
将有一个属性
key
存储一个对象,该对象的键为
value
,它存储包含空数组的数组。如果该数组(包含数组的数组)已经存在,则将向该数组追加另一个空数组。最后,
this.types
将看起来像
myObj

因此,
pushValue
应该如下所示:

myObj = {
    1: {
        "a": [
           [],[]
        ], 
        "b": [
           [],[]
        ],
       }
 }
const-app=新的Vue({
el:“#应用程序”,
数据:{
类型:{}
},
方法:{
pushValue(键、值){
if(this.types.hasOwnProperty(键)){
if(this.types[key].hasOwnProperty(value)){
const orgValue=this.types[key][value];
orgValue.push([]);
this.$set(this.types[key]、value、orgValue);
}否则{
this.$set(this.types[key],value,[[]]);
}
}否则{
this.$set(this.types,key{
[值]:[[]]
});
}
}
}
});

pushValue(键、值)

(1,‘a’) (1,‘b’) (1,‘c’) (2,‘a’) (2,‘b’) (2,‘c’) {{types}}
我只是根据我对@senty试图做什么的假设来回答这个问题:

pushValue是一种方法,它将数字作为键,字符作为值,并将它们保存到this.types
中,每当调用
pushValue
时,
this.types
将有一个属性
key
存储一个对象,该对象的键为
value
,它存储包含空数组的数组。如果该数组(包含数组的数组)已经存在,则将向该数组追加另一个空数组。最后,
this.types
将看起来像
myObj

因此,
pushValue
应该如下所示:

myObj = {
    1: {
        "a": [
           [],[]
        ], 
        "b": [
           [],[]
        ],
       }
 }
const-app=新的Vue({
el:“#应用程序”,
数据:{
类型:{}
},
方法:{
pushValue(键、值){
if(this.types.hasOwnProperty(键)){
if(this.types[key].hasOwnProperty(value)){
const orgValue=this.types[key][value];
orgValue.push([]);
this.$set(this.types[key]、value、orgValue);
}否则{
this.$set(this.types[key],value,[[]]);
}
}否则{
this.$set(this.types,key{
[值]:[[]]
});
}
}
}
});

pushValue(键、值)

(1,‘a’) (1,‘b’) (1,‘c’) (2,‘a’) (2,‘b’) (2,‘c’) {{types}}
你能分享更多关于对象输出的信息吗??我不太明白什么是
“a”=>[…]
,我也不太清楚您希望使用
pushValue
在复选框中获取
@change
上的键和值,在新输出中的具体位置
@change
,按键1或2触发推送值,值a、b、c等。我将obj编辑为myObj,以避免将其与方法中的obj混淆。因此,您希望在
“myObj.1.a
?”??在
这个.types
myObj
之间有关系吗?因为我看不到
myObj
pushValue
有任何关系。我只希望它在那里,即使是作为一个空数组。因此,我可以在v-for中使用它,并使用索引,我可以理解它的计数;要能够在
中使用:子组件的名称
属性,那么您将在
myObj.1.a
中插入什么?我的意思是,什么会被推到空数组中?数字1或2,或按键a、b、c、。。。?因为当您执行
pushValues
时,您正在修改
this.types
,而不是
myObj
。即使在这一刻,我仍然不知道myObj的意义是什么。或者您只想将一个包含两个空数组的数组附加到
myObj.1.a
?您可以分享更多关于对象输出的信息吗??我不太明白什么是
“a”=>[…]
,我也不太清楚您希望使用
pushValue
在复选框中获取
@change
上的键和值,在新输出中的具体位置
@change
,按键1或2触发推送值,值a、b、c等。我将obj编辑为myObj,以避免将其与方法中的obj混淆。因此,您希望在
“myObj.1.a
?”??在
这个.types
myObj
之间有关系吗?因为我看不到
myObj
pushValue
有任何关系。我只希望它在那里,即使是作为一个空数组。因此,我可以在v-for中使用它,并使用索引,我可以理解它的计数;要能够在
中使用:子组件的名称
属性,那么您将在
myObj.1.a
中插入什么?我的意思是,什么会被推到空数组中?数字1或2,或按键a、b、c、。。。?因为当您执行
pushValues
时,您正在修改
this.types
,而不是
myObj
。即使在这一刻,我仍然不知道myObj的意义是什么。或者您只想将一个包含两个空数组的数组附加到
myObj.1.a
??@senty请让我知道您是否非常想这样做!它真的很好,除了一件事。对于Vue中的else部分,如果不使用
$set
,它会更改值(我可以在deb中看到)