【发布时间】:2018-01-11 10:31:17
【问题描述】:
我有一个看起来像这样的对象,我可以使用以下方法推送数据。我还初始化了types 数据。
myObj = {
1: ["a", "b", "c"],
2: ["c", "d", "e"],
}
data: {
types: {}
},
methods: {
pushValue(key, value) {
var obj = this.types
if (obj.hasOwnProperty(key)) {
var idx = $.inArray(value, obj[key]);
if (idx == -1) {
obj[key].push([value]);
}
} else {
this.$set(obj, key, [value]);
}
},
}
效果很好。
但是,现在我希望我的对象看起来像这样:
myObj = {
1: {
"a": [
[],[]
],
"b": [
[],[]
],
}
}
如何修改我的附加函数以附加这样的元素?
【问题讨论】:
-
你能分享更多关于对象输出的信息吗?我不太明白
"a" => [ ... ]是什么,也不太清楚您想使用pushValue在新输出中将您的价值推向何处 -
我在复选框上的
@change上获取键和值。@change,推送值是用键触发的:1 或 2,值:a、b、c 等。我将 obj 编辑为 myObj,以免与方法中的混淆 -
那么您到底想在
"myObj.1.a中存储什么??this.types和myObj之间有关系吗?因为我看不出myObj和pushValue有什么关系。 -
我只希望它在那里,即使是一个空数组。这样我就可以在 v-for 和使用索引中使用它,我可以理解它的计数;能够在
:name子组件的属性中使用 -
那么你究竟会推入
myObj.1.a什么?我的意思是,什么将被推入空数组?数字 1 或 2,还是按键 a、b、c、...?因为当你执行pushValues时,你修改的是this.types,而不是myObj。即使在这一刻,我仍然不太明白myObj的意义何在。或者您只想将一个包含两个空数组的数组附加到myObj.1.a??
标签: javascript arrays multidimensional-array vue.js vuejs2