Я думаю, вы можете использовать метод фильтра ES6s для архивирования. Но вам нужно заполнить JS для этого.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
var people = [
{ name : 'Matt', age: 19},
{ name : 'George', age: 16},
{ name : 'Ross', age: 12},
{ name : 'Gerard', age: 18},
{ name : 'Leo', age: 15},
{ name : 'Brad', age: 21}
];
function isJung(p){
return p.age <18 ;
}
var youngPeople = people.filter(isJung);
И полифил также предоставляется Mozilla:
if (!Array.prototype.filter){
Array.prototype.filter = function(func, thisArg) {
'use strict';
if ( ! ((typeof func === 'Function' || typeof func === 'function') && this) )
throw new TypeError();
var len = this.length >>> 0,
res = new Array(len), // preallocate array
t = this, c = 0, i = -1;
var kValue;
if (thisArg === undefined){
while (++i !== len){
// checks to see if the key was set
if (i in this){
kValue = t[i]; // in case t is changed in callback
if (func(t[i], i, t)){
res[c++] = kValue;
}
}
}
}
else{
while (++i !== len){
// checks to see if the key was set
if (i in this){
kValue = t[i];
if (func.call(thisArg, t[i], i, t)){
res[c++] = kValue;
}
}
}
}
res.length = c; // shrink down array to proper size
return res;
};
}