#javascript #jquery #веб_программирование
Есть функция которая ищет value в объекте. Как можно сделать так, чтоб искать можно
было по ключу?
Например сейчас работает так :
когда у функции search('r', items) аргумент rm то выдаст слова где есть r.
// ["bar", "lorem", "dolor"]
А было б неплохо если можно было искать и по ключам. Например так :
если аргументом будет foo, должно выдать: // ["bar", "lorem", "dolor"]
а если аргумент bar то должно выдать: ["amet","ipsum","dolor"]
вся функция :
function search(s, arr) {
var matches = [];
for (var i = arr.length; i--;) {
for (key in arr[i]) {
if (arr[i].hasOwnProperty(key) && arr[i][key].indexOf(s) > -1)
matches.push(arr[i][key]);
}
}
return matches;
};
var items = [{
"foo": "bar",
"bar": "sit"
}, {
"foo": "lorem",
"bar": "ipsum"
}, {
"foo": "dolor",
"bar": "amet"
}];
search('r', items); // ["bar", "lorem", "dolor"]
Ответы
Ответ 1
Аналогично же: function search(s, arr) { var matches = []; for (var i = arr.length; i--;) { for (key in arr[i]) { if (arr[i].hasOwnProperty(key) && key.indexOf(s) > -1) { matches.push(arr[i][key]); } } } return matches; }; var items = [{ "foo": "bar", "bar": "sit" }, { "foo": "lorem", "bar": "ipsum" }, { "foo": "dolor", "bar": "amet" }]; search('foo', items);
Комментариев нет:
Отправить комментарий