Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.05.2022, 15:36
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

Вывод значений по имени с массива объектов
Не пойму почему сейчас выводит значение по всем именам. Мне нужно получить по одному имени.

function findUsersByName(users, name) {
 let arr = [];
 
  for (const i of users) {

    arr.push(i, name);
   
}
     return arr;
  }

function findUsersByString(users, str) {

}

// examples
const users = [
  {
    id: 101,
    name: 'Denis',
    city: 'Kyiv',
  },
  {
    id: 102,
    name: 'Alexandr',
    city: 'Lviv',
  },
  {
    id: 103,
    name: 'Nastya',
    city: 'Kyiv',
  },
  {
    id: 104,
    name: 'Violetta',
    city: 'Odesa',
  },
  {
    id: 105,
    name: 'Mykola',
    city: 'Lviv',
  },
  {
    id: 106,
    name: 'Denis',
    city: 'Lviv',
  },
  {
    id: 107,
    name: 'Andrey',
    city: 'Odesa',
  },
  {
    id: 108,
    name: 'Alexey',
    city: 'Dnipro',
  },
];

console.log(findUsersByName(users, 'Denis')); // ===> [ { id: 101, name: 'Denis', city: 'Kyiv' }, { id: 106, name: 'Denis', city: 'Lviv' } ]

Последний раз редактировалось NovichokJS, 09.05.2022 в 15:52.
Ответить с цитированием
  #2 (permalink)  
Старый 09.05.2022, 15:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от NovichokJS
Не пойму почему сейчас выводит значение по всем именам.
а где условие, которое будет отсеивать ненужное?
Ответить с цитированием
  #3 (permalink)  
Старый 09.05.2022, 15:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

NovichokJS,
и строки с object, так себе ... только мешать будут.
Ответить с цитированием
  #4 (permalink)  
Старый 09.05.2022, 15:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

NovichokJS,
function findUsersByName(users, name) {
            let arr = [];
            for (const obj of users) {
                let str = obj.name;
                if (name === str) arr.push(obj);
            }
            return arr;
        }
Ответить с цитированием
  #5 (permalink)  
Старый 09.05.2022, 15:53
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

подредактировал. теперь ближе уже. Но насчет условия не понимаю что надо сделать
Ответить с цитированием
  #6 (permalink)  
Старый 09.05.2022, 15:55
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

ага, вот как, спасибо
Ответить с цитированием
  #7 (permalink)  
Старый 09.05.2022, 16:16
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

У меня еще функция там function findUsersByString(users, str) { }
Нужно чтобы искало значения по совпадению символов. Например:

(findUsersByString(users, 'Al')); // ===> [ { id: 102, name: 'Alexandr', city: 'Lviv' }, { id: 108, name: 'Alexey', city: 'Dnipro' } ]


Как это сделать? через регулярные выражения?
Ответить с цитированием
  #8 (permalink)  
Старый 09.05.2022, 16:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

NovichokJS,
Поиск подстроки
Ответить с цитированием
  #9 (permalink)  
Старый 09.05.2022, 17:12
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

ок, я посмотрел, но не пойму пока как это связать чтобы сработало. Пока что получилось, так только так :

function findUsersByString(users, str) {
            let arr = [];
            for (const obj of users) {
            
                if (str.indexOf != -1) {arr.push(obj)}
            }
            return arr;
        }
Ответить с цитированием
  #10 (permalink)  
Старый 09.05.2022, 17:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

NovichokJS,
осталось написать строку 4 (см. пример выше) и строка 5 исправить indexOf
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод средней арифметической значений массива "getAverage" в php garrip91 Общие вопросы Javascript 3 30.10.2018 10:50
Вывод всех значений из массива JSON TTATPuOT jQuery 1 05.12.2015 14:00
Перебор объектов и вывод значений SeeJ jQuery 6 01.12.2015 10:27
Ввод диапазона значений массива с клавиатуры Воскобоенко Общие вопросы Javascript 11 06.06.2015 22:34
Некорректный вывод значений массива running Общие вопросы Javascript 9 28.10.2014 03:47