第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

合并數(shù)組鍵

合并數(shù)組鍵

暮色呼如 2021-12-23 16:00:16
以下代碼循環(huán)遍歷兩個數(shù)組,并在運行后輸出以下內(nèi)容。GraphCategories = ["AdminFee","AdminFeeVat","CaptureCharge","CaptureChargeVat","CardReplacementFee","CardReplacementFeeVat","DriverBillAllowFee","DriverBillAllowFeeVat","FleetSaverFee","FleetSaverFeeVat","FuncdingInt","LostCardProtectionFee","LostCardProtectionFeeVat","Other","OtherVat","TransactionCharge","TransactionChargeVat","TurnkeyFee","TurnkeyFeeVat","WalletReplacementFee","WalletReplacementFeeVat"];function BuildStacked(seriesData, GraphCategories) {    var newGraphdata = [];    seriesData.forEach(function (SeriesVal, SeiresKey) {        let previousVal = false;        GraphCategories.forEach(function (GraphVal, GraphKey) {            if (SeriesVal.name === GraphVal) {                if (previousVal === false) {                    console.log(previousVal);                    console.log(GraphVal);                    if (previousVal !== GraphVal) {                        newGraphdata.push({ 'name': SeriesVal.name, 'data': [SeriesVal.y], 'stack': SeriesVal.group });                        previousVal = SeriesVal.name;                    }                 }             };        });    });最終結(jié)果應(yīng)如下所示。其中鍵 3 和 4 的值合并到鍵 1 和 2 中。因為名稱包含已插入的項目0: {name: "AdminFee", data: Array(1), stack: "2019-10"}1: {name: "AdminFee", data: Array(1), stack: "2019-11"}2: {name: "AdminFeeVat", data: Array(1), stack: "2019-10"}3: {name: "AdminFeeVat", data: Array(1), stack: "2019-11"}||||\/0: {name: "AdminFee", data: Array(2), stack: "2019-10"}1: {name: "AdminFee", data: Array(2), stack: "2019-11"}所以我試圖實現(xiàn)的輸出或多或少采用以下格式{        name: 'AdminFee',        data: [AdminFee.data, AdminFeeVat.data],        stack: '2019-10'    }, {        name: 'AdminFee',        data: [AdminFee.data, AdminFeeVat.data],        stack: '2019-11'    }當 AdminFee , AdminFeeVat 具有相同的堆棧/日期時,連接應(yīng)該發(fā)生在數(shù)據(jù)中
查看完整描述

2 回答

?
米脂

TA貢獻1836條經(jīng)驗 獲得超3個贊

這個修復(fù)是半臟的,但它有效,因為我現(xiàn)在或多或少地以我需要的格式獲取數(shù)據(jù),只是 Highcharts 還沒有如此漂亮地對數(shù)據(jù)進行分組或堆疊。


我用于構(gòu)建陣列的解決方案:


function BuildStacked(seriesData, GraphCategories) {

    var newGraphdata = [];

    let i = 0;

    GraphCategories = removeDuplicateUsingSet(GraphCategories);

    GraphCategories.forEach(function (GraphVal, GraphKey) {

        seriesData.forEach(function (SeriesVal, SeiresKey) {

            if (SeriesVal.name === GraphVal) {

                if (SeriesVal.child === 1) {

                    newGraphdata[i] = { name: SeriesVal.name, data: [SeriesVal.y], stack: SeriesVal.group };

                    i++;

                }

                if (SeriesVal.child === 2) {

                    newGraphdata[(i - 2)].data.push(SeriesVal.y);

                    i++;

                }

            };

        });

    });

    newGraphdata = newGraphdata.filter(function (el) {

        return el != null;

    });

    return newGraphdata;

}


查看完整回答
反對 回復(fù) 2021-12-23
?
森欄

TA貢獻1810條經(jīng)驗 獲得超5個贊

您需要使用 Object 并為結(jié)果的每一行定義一個鍵,而不是使用array.push(),最后如果您需要數(shù)組作為輸出,請將其轉(zhuǎn)換為數(shù)組。例如:


newGraphdata.push({ 'name': SeriesVal.name, 'data': [SeriesVal.y], 'stack': SeriesVal.group });

將轉(zhuǎn)換為:


if (typeof newGraphdata.definedKey == 'undefined') {

    newGraphdata.definedKey ={ 'name': SeriesVal.name, 'data': [SeriesVal.y], 'stack': SeriesVal.group };

}else{

    newGraphdata.definedKey.data.push(SeriesVal.y);

}

最后,您可以將結(jié)果轉(zhuǎn)換為數(shù)組,如下所述: How to convert an Object {} to an Array [] of key-value pair in JavaScript


此外,如果您有興趣使用正確的數(shù)據(jù)類型,您可以在這里看到:https : //medium.com/front-end-weekly/es6-map-vs-object-what-and-when-b80621932373


查看完整回答
反對 回復(fù) 2021-12-23
  • 2 回答
  • 0 關(guān)注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號