React 數組合並去重,實現請求三遍返回三組數據的合並去重。


 

  需求:用三個不同參數請求三遍,返回的數據進行合並去重,如果重復的話只保留第一條。


getDataAll = () => {

        this.props.beginLoadingData();
        let requestArray = [];
        requestArray.push(this.getData("one"));//傳入參數
        requestArray.push(this.getData("two"));//
        requestArray.push(this.getData("three"));

        Promise.all(requestArray).then((datas) => {
            let result = [];

            datas.map((data) => {

                console.log(".............. data ", data);

                let dataSource = data.dataSource;
                let totalRecord = data.totalRecord;

                dataSource.map((ele) => {
                    let tUuid = ele.uuid;

                    if (result.length === 0) {
                        result.push(ele);
                    }
                    else {
                        let isExist = false;
                        result.map((rEle) => {
                            let rUuid = rEle.uuid;
                            if (rUuid === tUuid) {
                                isExist = true
                            }
                        });

                        if (isExist === false) {
                            result.push(ele);
                        }
                    }

                });
            });

            console.log(".............. 最終數據", result);
            this.setState({
                dataSource: result
            }, () => {
               
            })
        }).catch((error) => {
           
            
        });
    }

    getData = (Parameter) => {
      
        let promise = new Promise((resolve, reject) => {
            TaskActions.getTask(Parameter).then((data) => {
                resolve(data);
            }).catch((error) => {
                reject(error);
            });
        });
        console.log(promise)
        return promise;

    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM