Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
cars.filter(function(element, index, array) {
return (element.brand == "audi" && (element.volume_engine == "2" || element.volume_engine == "3"));
});
cars.find({ brand:"audi", volume_engine:["2","3"] })
cars.filter(function(el) {
return (el.brand == "audi" && (el.volume_engine == "2" || el.volume_engine == "3"));
});
(c for c in cars when c.brand == "audi" and c.volume_engine in ["2", "3"])
cars.filter( (c) -> c.brand == "audi" and c.volume_engine in ["2", "3"] ) cars.filter(function(car) car.brand==="audi" && ["2", "3"].indexOf(car.volume_engine)>=0});
cars.filter(car => car.brand==="audi" && ["2", "3"].indexOf(car.volume_engine)>=0);
[car for(car of cars) if(car.brand==="audi" && ["2", "3"].indexOf(car.volume_engine)>=0)]
function Finder(arr){
this.data = arr;
this.find = function(){ ...}
}var cars = new Finder(arrayCars);
cars.find({ })cars.find({...}).find({...}).find({...}).find({...});
cars.find({ brand: "audi" });
find(cars,{ brand: "audi" });
arr.filter( Array.findFn({brand: 'audi'}) )
var audiFilter = Array.findFn({brand: 'audi'});
// а потом юзать во всех местах где надо выбрать audi
arr.filter( audiFilter );
Array.findFn({brand: 'audi'}) // должно генерировать вот такую простую функцию
function(el){ return el['brand'] === 'audi'; }
Array.find = function( match ){
var i, pairs = [];
for( i in match )
match.hasOwnProperty( i ) &&
pairs.push( 'el[\'' + i + '\'] === \''+ match[i] +'\''); // тут надо учесть экранирование кавычек в кей и в валью
return Function('el', 'return ' + pairs.join(' && ') + ';');
};
Array.prototype.find = function( match ){
return this.filter( Array.find.call( this, match ) );
}
cars.find({brand: 'audi'});
var audiFilter = Array.find({ brand: 'audi' });
cars.filter( audiFilter );
jsFind. Выборка данных из массива объектов