排序/ 2阵列过滤 [英] Sorting/Filtering from 2 arrays

查看:127
本文介绍了排序/ 2阵列过滤的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这2个数组:

var masterArray = [
        {'id' : '1', 'title' : 'Title 1'},
        {'id' : '2', 'title' : 'Title 2'},
        {'id' : '3', 'title' : 'Title 3'},
        {'id' : '4', 'title' : 'Title 4'},
        {'id' : '5', 'title' : 'Title 5'},
        {'id' : '6', 'title' : 'Title 6'},
        {'id' : '7', 'title' : 'Title 7'}
    ];

var sortFilterInfo = [
    {'id' : '6', 'sortOrder' : 1},
    {'id' : '2', 'sortOrder' : 2},
    {'id' : '7', 'sortOrder' : 3}
]

有了这个信息,我需要一个数组,它给了我这个排序筛选数组:(我只使用本地DOM Array方法(ES6)(图/过滤/排序)和不可以 Jquery的,lodash,等等。

With this information I need an array which gives me this sorted filtered array: ( I am only using native DOM Array methods (ES6) (map/filter/sort) and NOT Jquery,lodash, etc.

var resultArray = [
    {'id' : '6', 'title' : 'Title 6'},
    {'id' : '2', 'title' : 'Title 2'},
    {'id' : '7', 'title' : 'Title 7'}
]

谢谢!

推荐答案

工作的呢? (修改注释如果你要我来解释它做什么)

Does this work? ( Comment if you want me to explain what it does)

// Create arrays
var masterArray = [
    {'id' : '1', 'title' : 'Title 1'},
    {'id' : '2', 'title' : 'Title 2'},
    {'id' : '3', 'title' : 'Title 3'},
    {'id' : '4', 'title' : 'Title 4'},
    {'id' : '5', 'title' : 'Title 5'},
    {'id' : '6', 'title' : 'Title 6'},
    {'id' : '7', 'title' : 'Title 7'}
];

var sortFilterInfo = [
    {'id' : '6', 'sortOrder' : 1},
    {'id' : '2', 'sortOrder' : 2},
    {'id' : '7', 'sortOrder' : 3}
]

var resultArray = new Array();

// Sort arrays
masterArray.sort(function(a, b){return parseInt(a.id)-parseInt(b.id)});
sortFilterInfo.sort(function(a, b){return a.sortOrder-b.sortOrder});

// Push to array the id of the filter...
for (var i in sortFilterInfo) {
    resultArray.push(masterArray[parseInt(sortFilterInfo[i].id)-1]);
}

// console.log(resultArray);
//
// resultArray = [
//     {'id' : '6', 'title' : 'Title 6'},
//     {'id' : '2', 'title' : 'Title 2'},
//     {'id' : '7', 'title' : 'Title 7'}
// ]

这篇关于排序/ 2阵列过滤的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆