Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.06.2017, 19:16
Интересующийся
Отправить личное сообщение для mariklozik Посмотреть профиль Найти все сообщения от mariklozik
 
Регистрация: 10.02.2014
Сообщений: 26

Поиск по массиву обьектов по многим параметрам
Здрасте, есть массив обьектов
[
    {id: 1, src: "../img/image.jpg", name: "image_1"},
    {id: 2, src: "../img/image.jpg", name: "image_2"},
    {id: 3, src: "../img/image.jpg", name: "image_3"},
    {id: 4, src: "../img/image.jpg", name: "image_4"},
    {id: 5, src: "../img/image.jpg", name: "image_5"}
]


Помогите написать функцию которая принимает обьект напр.
{id:1, name : "image_1"}

и выводит
[
    {id: 1, src: "../img/image.jpg", name: "image_1"}
]

если передадим массив обьектов, также должно вывести несколько обьектов в массиве
для одного свойства обьекта я и сам написать могу, но если их много - никак.
Спасибо большое

Последний раз редактировалось mariklozik, 08.06.2017 в 19:28.
Ответить с цитированием
  #2 (permalink)  
Старый 08.06.2017, 19:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

mariklozik,
а можно так ?
[{
    id: function(id) {
        return id == 1
    },
    name: function(name) {
        return name == "image_1"
    }
}]
Ответить с цитированием
  #3 (permalink)  
Старый 08.06.2017, 20:05
Интересующийся
Отправить личное сообщение для mariklozik Посмотреть профиль Найти все сообщения от mariklozik
 
Регистрация: 10.02.2014
Сообщений: 26

даже не знаю , думаю нет,
но оно сработает ))))
Ответить с цитированием
  #4 (permalink)  
Старый 08.06.2017, 20:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от mariklozik
даже не знаю , думаю нет,
но оно сработает ))))
не осилил ... такой формат поиска вам удобен? да или нет?
Ответить с цитированием
  #5 (permalink)  
Старый 08.06.2017, 20:18
Интересующийся
Отправить личное сообщение для mariklozik Посмотреть профиль Найти все сообщения от mariklozik
 
Регистрация: 10.02.2014
Сообщений: 26

не удобен, так как могут быть разные свойства, и функция может тоже принимать всякую ересь )))
Ответить с цитированием
  #6 (permalink)  
Старый 08.06.2017, 20:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от mariklozik
так как могут быть разные свойства, и функция может тоже принимать всякую ересь )))
не понял ничего ... но данный формат очень удобен например выбрать все данные с id от 2 до 5
pattern = [{id:function(id) {
   return id > 1 && id < 5
}}];

или все блоки в которых картинки jpg
pattern = [{src:function(src) {
  return /\.jpg$/.test(src)
}}];

можно смешивать
Ответить с цитированием
  #7 (permalink)  
Старый 09.06.2017, 00:10
Интересующийся
Отправить личное сообщение для mariklozik Посмотреть профиль Найти все сообщения от mariklozik
 
Регистрация: 10.02.2014
Сообщений: 26

могут быть разние свойства в json'e. и в функцию мы можем кинуть любой обьект, и просто свойства должны проверяться. и возвращяться те обьекты которые подпадают под все входящие свойства
Ответить с цитированием
  #8 (permalink)  
Старый 09.06.2017, 00:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от mariklozik
и в функцию мы можем кинуть любой обьект, и просто свойства должны проверяться. и возвращяться те обьекты которые подпадают под все входящие свойства
что мешает использовать вместо
{id:1, name : "image_1"}

это ?
[{
    id: function(id) {
        return id == 1
    },
    name: function(name) {
        return name == "image_1"
    }
}]
Ответить с цитированием
  #9 (permalink)  
Старый 09.06.2017, 00:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от mariklozik
Помогите написать функцию которая принимает обьект напр.
структура того что вы ищите, будет похожа на function blender из примера ниже

https://javascript.ru/forum/misc/563...tml#post374942
Ответить с цитированием
  #10 (permalink)  
Старый 09.06.2017, 00:36
Интересующийся
Отправить личное сообщение для mariklozik Посмотреть профиль Найти все сообщения от mariklozik
 
Регистрация: 10.02.2014
Сообщений: 26

ети входные обьекты будут сгенерированы и приходить с иного места, и мы не сможем предугадать какие свойства там будут. Но те которые будут, надо сравниваться с теми которые есть
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по массиву объектов Georrg Общие вопросы Javascript 24 14.08.2014 14:59
Поиск по многомерному массиву Ultimatum Общие вопросы Javascript 12 20.11.2011 14:53
поиск по массиву zebulun Общие вопросы Javascript 4 02.09.2011 02:09