我尝试创建一个从arraylist填充的表,该表可以根据用户输入而变化。我需要创建一个新的" existingStrings"在每次迭代的数组。目前只显示最后一个值(" c"对于i = 2),这正是我对下面所做的所期望的。我遇到的问题是如何创建" existingString"的新实例?在每次迭代时,对象(this.collection)包含属性" existingStrings" 3次(对于阵列的每个元素一次)。
this.stringList=["a","b","c"];
for (var i=0; i<this.stringList.length; i++){
this.collection = [
{"existingStrings": this.stringList[i]},
];
}
我希望this.collection最终如下所示:
this.collection=[{"existingStrings":"a"},
{"existingStrings":"b"},
{"existingStrings":"c"}]"
答案 0 :(得分:4)
试试这个
var stringList=["a","b","c"];
this.collection = []
for (var i=0; i<this.stringList.length; i++){
this.collection.push({"existingStrings": this.stringList[i]});
}
答案 1 :(得分:1)
你需要推送集合中的结果而不是覆盖它们
var stringList=["a","b","c"];
var collection = []
for (var i=0; i<stringList.length; i++){
collection.push({"existingStrings": stringList[i]});
}
答案 2 :(得分:0)
我不确定这是您正在寻找的内容,但您可以push
this.collection
对象:
var stringList = ["a","b","c"];
stringList.forEach(function(item) {
if(!this.collection) {
this.collection = [];
}
this.collection.push({"existingStrings": item});
});
这将为您留下输出(this.collection
的内容):
[{"existingStrings": "a"}, {"existingStrings": "b"}, {"existingStrings": "c"}]