Я правильно понимаю, что требуется отфильтровать массив по нескольким параметрам?
Если да, то вот моё решение:
// Функция проверки одного элемента на соответствие всем условиям
function checkAllConditions(el, conditions) {
for (var key in conditions) {
if (conditions.hasOwnProperty(key)) {
if (el[key] != conditions[key]) return false;
}
}
return true;
}
// Массив исходных значений
var all = [
{'id': 1, 'x': 3, 'y': 1.5, z: 1.5, ves: 100, v: 0.15, 'norma': 'до 15', money: 0, 'money_holiday': 100,
wait: 100, dostavka_time: 500, dostavka_nighttime: 1000, dostavka_fixnighttime: 1500},
{'id': 2, 'x': 3, 'y': 1.7, z: 1.6, ves: 50, v: 0.15, 'norma': 'до 15', money: 300, 'money_holiday': 300,
wait: 100, dostavka_time: 500, dostavka_nighttime: 1000, dostavka_fixnighttime: 1500},
{'id': 3, 'x': 3, 'y': 1.7, z: 1.6, ves: 100, v: 0.4, 'norma': 'до 15', money: 300, 'money_holiday': 300,
wait: 100, dostavka_time: 500, dostavka_nighttime: 1000, dostavka_fixnighttime: 1500}
];
// Объект с условиями
var cond = {
'x': '3',
'y': '1.7',
'z': '1.6'
};
// Фильтруем исходный массив и получаем новый, в котором присутствуют значения, удовлетворяющие всем условиям
var newArr = all.filter(function(el, ind) {
return checkAllConditions(el, cond)
})
// Вывод результата
console.log(newArr)