Страницы

Поиск по вопросам

четверг, 9 апреля 2020 г.

Как реализовать поиск по ключу объекта?

#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);

Комментариев нет:

Отправить комментарий