簡體   English   中英

有沒有辦法映射給定引用數組的對象數組?

[英]Is there a way to map an array of objects given a reference array?

我目前正在嘗試按照給定引用數組的相同順序對對象數組進行排序。 任何人都有基於性能的良好解決方案? 下面是一個例子......

let example = () => {
    let referenceArray = ['name', 'date', 'creator','description'];

    let orderObject = [
        {type:'txt',orderBy:'date'},
        {type:'txt',orderBy:'name'},
        {type:'txt',orderBy:'description'},
        {type:'txt',orderBy:'creator'}
    ];

    // code to sort object here?

}

編輯:看起來我能夠實施一個解決方案。 使用下面的代碼,我能夠將對象映射為與數組具有相同的順序。

let example = () => {
    let referenceArray = ['name', 'date', 'creator','description'];
    let copy = [];
    let orderObject = [
        {type:'txt',orderBy:'date'},
        {type:'txt',orderBy:'name'},
        {type:'txt',orderBy:'description'},
        {type:'txt',orderBy:'creator'}
    ];

    // code to sort object here?
    orderObject.forEach((x) => {
        let index = referenceArray.indexOf(x.orderBy);
        copy.splice(index,0,x);
    });
}

看起來我能夠實現自己的解決方案。

let example = () => {
    let referenceArray = ['name', 'date', 'creator','description'];
    let copy = [];
    let orderObject = [
        {type:'txt',orderBy:'date'},
        {type:'txt',orderBy:'name'},
        {type:'txt',orderBy:'description'},
        {type:'txt',orderBy:'creator'}
    ];

    // code to sort object here?
    orderObject.forEach((x) => {
        let index = referenceArray.indexOf(x.orderBy);
        copy.splice(index,0,x);
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM