在數(shù)組長度超過10項后刪除后續(xù)數(shù)組項(即刪除第10項后的所有項)-JavaScript

我有一個文件上傳器,它為要上傳的文件提供預覽圖像。有前端和后端驗證,可防止在一次上傳中提交超過10個文件。

我想做的是,當附加了10個以上的文件時,第10個以上圖像的預覽圖像將從圖像預覽中刪除(當前也有錯誤消息輸出)。對于輸入元素中的實際FileList文件,我有單獨的功能,但應該能夠使解決方案同時適用于這兩個元素。

下面是問題的最小代碼表示。如果需要,我可以顯示完整的文件上傳器代碼,但有相當多的代碼與此問題無關(guān),這可能會讓人困惑。

// Generate a preview <img> for each selected file
// the submitData.files array is generated from a change event listener on a file input elment

[...submitData.files].forEach(showFiles);
});


function showFiles(file) {

    let previewImage = new Image();
    previewImage.className = "img upload-preview-image";
    previewImage.src = URL.createObjectURL(file);

    // use decode() method that waits for individual preview images to be added when running validations

    previewImage.decode().then((response) => {

        // validations happen here for each image as part of the showFiles() function called in the forEach loop above

        let imgList = document.querySelectorAll('.upload-preview-image'), // redeclare under new var name inside promise

        if (imgList.length > 10) {

            /*** somehow remove all images from the imgList array after the 10th image,
            either by deleting them or exiting this function when the 10th item is added ***/

        }


    }).catch((encodingError) => {
        // Do something with the error.
    });

}
? 最佳回答:

如果您只想處理輸入中的前10個文件,那么可以將它們從submitData.files數(shù)組中切掉:

[...submitData.files].slice(0, 10).forEach(showFiles)
主站蜘蛛池模板: 色妞AV永久一区二区国产AV| 国产一区二区三区在线影院| 亚洲色无码一区二区三区| 少妇一夜三次一区二区| 免费视频精品一区二区三区| 一区二区三区四区国产| 日韩精品免费一区二区三区 | 在线成人综合色一区| 久久久久成人精品一区二区| 国产成人精品一区在线| 夜夜精品视频一区二区| 无码国产精品一区二区免费| 国精产品999一区二区三区有限 | 国产av熟女一区二区三区| 国产高清一区二区三区视频| 国产一区在线播放| 国产精品小黄鸭一区二区三区| 国产一区在线视频| 久久se精品一区精品二区国产| 美女视频一区二区| 国产探花在线精品一区二区| 一区二区三区视频在线播放| 亚洲AV综合色区无码一区爱AV| 精品无码综合一区| 伊人久久精品无码av一区| 插我一区二区在线观看| 欧洲精品无码一区二区三区在线播放 | 乱中年女人伦av一区二区| 色一情一乱一伦一区二区三区| 国产精品综合一区二区三区| 激情啪啪精品一区二区| 麻豆视传媒一区二区三区| AV天堂午夜精品一区| 国产激情视频一区二区三区| 免费无码VA一区二区三区| 国产精品无码一区二区在线观| 激情无码亚洲一区二区三区 | 成人影片一区免费观看| 亚洲国产一区二区三区青草影视 | 人妻无码一区二区视频| 精品人妻少妇一区二区三区|