我有一个函数,我想将courseContentId
从for循环中放入数组中,但是会为每个courseContentId
创建一个新数组。这是我的代码。
function keyLoop() {
let content = vm.comparisonThumbnail.list;
content.forEach(a => {
let cid = a.courseContentId;
if (cid == undefined) {
cid = ' ';
}
vm.loopKey = cid;
var pass = vm.loopKey;
result(pass);
});
function result(pass) {
let receiver = [];
receiver.push(pass);
console.log(receiver);
}
}
我希望他们像这样[471,471,471,472,472,472,473,473 ....]
但是它返回[471] [471] [471] [472] ......等等。
答案 0 :(得分:0)
这是因为每次调用result函数时都在定义一个新的空数组。
为此,您需要在执行循环之前创建数组。
function keyLoop() {
let receiver = [];
let content = vm.comparisonThumbnail.list;
content.forEach(a => {
let cid = a.courseContentId;
if (cid == undefined) {
cid = ' ';
}
vm.loopKey = cid;
var pass = vm.loopKey;
result(pass);
});
function result(pass) {
receiver.push(pass);
console.log(receiver);
}
}
答案 1 :(得分:0)
您可以尝试这个。
python2
答案 2 :(得分:0)
您是否只想对列表进行排序?
set
在这里,我们获取一个ID列表(按.map排序)。如果我们想保护结果免受未定义的ID的侵害,它可能看起来像
unset
答案 3 :(得分:-2)
尝试一下
function keyLoop() {
let content = vm.comparisonThumbnail.list;
let receiver = [];
content.forEach(a => {
let cid = a.courseContentId;
if (cid == undefined) {
cid = ' ';
}
vm.loopKey = cid;
var pass = vm.loopKey;
receiver.push(pass);
});
console.log(receiver);
}