Доброго времени суток, мои познания в JS весьма скромны, и я уже бьюсь несколько дней над вроде простой задачей. Есть объект:
var items={};
items[1]={
param_1:"10",
param_2:"521А2",
param_3:"A",
anydata:"bla-bal"
}
items[2]={
param_1:"15",
param_2:"521А1",
param_3:"B",
anydata:"bla-bal"
}
items[50]={
param_1:"10",
param_2:"521А3",
param_3:"C",
anydata:"bla-bal"
}
Нужно не сколько отсортировать, а исключить ненужные элементы объекта во время перебора, сейчас я перебираю данный объект с помощью цикла for и в процессе сравниваю параметры: PARAM_1, PARAM_2, PARAM_3 и получается очень много IF ELSE
if(items[i].param_1 == param_1){ console.log(items[i]); }
if(items[i].param_2 == param_2){ console.log(items[i]); }
if(items[i].param_3 == param_1){ console.log(items[i]); }
if(items[i].param_1 == param_1 && items[i].param_2 == param_2){ console.log(items[i]); }
if(items[i].param_2 == param_2 && items[i].param_3 == param_3){ console.log(items[i]); }
if(items[i].param_3 == param_3 && items[i].param_1 == param_1){ console.log(items[i]); }
Ну и так далее... Собственно а нужна то по сути простая функция которая принимает 3 параметра, и возвращает отсортированный объект где совпадают между собой эти параметры если они заданы, то есть некоторые параметры могут отсутствовать Например:
get_table({param_1:10,param_2:'521А2',param_3:'A',});
get_table({param_2:'521А1',param_2:'B',});
function get_table(data){
for (i in items) {
//Магический IF =)
if(все параметры сходятся у элемента items[i]){
consle.log(items[i]);
}
}
}
Как-то так?
var items={};
items[1]={
param_1:"10",
param_2:"521А2",
param_3:"A",
anydata:"bla-bal"
};
items[2]={
param_1:"15",
param_2:"521А1",
param_3:"B",
anydata:"bla-bal"
};
items[50]={
param_1:"10",
param_2:"521А3",
param_3:"C",
anydata:"bla-bal"
};
function filter(items, test) {
var res = [];
for (item in items) {
var match = true;
for (field in test) {
if (items[item][field] !== test[field]) {
match = false;
break;
}
}
if (match)
res.push(items[item]);
}
return res;
}
console.log(filter(items, {param_3: "B"}));
console.log(filter(items, {param_1: "10", param_3: "C"}));
var items={};
items[1]={
param_1:"10",
param_2:"521А2",
param_3:"A",
anydata:"bla-bal"
};
items[2]={
param_1:"15",
param_2:"521А1",
param_3:"B",
anydata:"bla-bal"
};
items[50]={
param_1:"10",
param_2:"521А3",
param_3:"C",
anydata:"bla-bal"
};
function filter(items, test) {
var res = [];
for (item in items) {
var match = true;
for (field in test) {
if (items[item][field] !== test[field]) {
match = false;
break;
}
}
if (match)
res.push(items[item]);
}
return res;
}
console.log(filter(items, {param_3: "B"}));
console.log(filter(items, {param_1: "10", param_3: "C"}));
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как можно удалить весь item при нажатии на кнопку "Удалить"? Этих итемов может быть неограниченное количество
Всем привет, подскажите пожалуйста как вставить атрибут для форм Куда нужно вставить, пробовал написать в input submit, выводит ошибкуПробовал...