Вывод значений по имени с массива объектов
Не пойму почему сейчас выводит значение по всем именам. Мне нужно получить по одному имени.
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,
и строки с object, так себе ... только мешать будут. |
NovichokJS,
function findUsersByName(users, name) {
let arr = [];
for (const obj of users) {
let str = obj.name;
if (name === str) arr.push(obj);
}
return arr;
}
|
подредактировал. теперь ближе уже. Но насчет условия не понимаю что надо сделать
|
ага, вот как, спасибо
|
У меня еще функция там function findUsersByString(users, str) { }
Нужно чтобы искало значения по совпадению символов. Например:
(findUsersByString(users, 'Al')); // ===> [ { id: 102, name: 'Alexandr', city: 'Lviv' }, { id: 108, name: 'Alexey', city: 'Dnipro' } ]
Как это сделать? через регулярные выражения? |
NovichokJS,
Поиск подстроки |
ок, я посмотрел, но не пойму пока как это связать чтобы сработало. Пока что получилось, так только так :
function findUsersByString(users, str) {
let arr = [];
for (const obj of users) {
if (str.indexOf != -1) {arr.push(obj)}
}
return arr;
}
|
NovichokJS,
осталось написать строку 4 (см. пример выше) и строка 5 исправить indexOf |
| Часовой пояс GMT +3, время: 06:14. |