将元素从Java中的for循环放入数组中

时间:2018-12-03 02:27:20

标签: javascript arrays angularjs

我有一个函数,我想将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] ......等等。

4 个答案:

答案 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);
}