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;

    }

 

posted @ 2018-11-07 15:27  闰土的土  阅读(2730)  评论(0编辑  收藏  举报