Как вернуть массив объектов js
Перейти к содержимому

Как вернуть массив объектов js

  • автор:

Курсы javascript

Всем привет! Так как я не силен в javascript нужна ваша помощь. Не подскажите как получить объект из массива объектов по одному из его свойств?

04.02.2018, 16:52
Регистрация: 27.05.2010
Сообщений: 33,038
Rmydar,
https://javascript.ru/forum/misc/724. tml#post476834
04.02.2018, 17:09
Новичок на форуме
Регистрация: 04.02.2018
Сообщений: 4

Прикольно только как это мне поможет? У меня есть массив объектов, каждый объект имеет свойство id со своим значением, мне нужно получить объект с нужным мне id из этого массива. Пробовал циклом не выходит:

for (var i=0, iLen=arr.length; i else < object = "Value not found"; >> console.log(object);

У меня всегда «Value not found», я не силен в javascript, ну может кто подскажет что я делаю не так?
04.02.2018, 17:30
Новичок на форуме
Регистрация: 18.01.2018
Сообщений: 7

В твоем случае нужно после найденного совпадения делать break.

var object = "Value not found"; for (var i=0, iLen=arr.length; i > console.log(object);
var object = arr.find(function(elem) < return elem.id === id; >console.log(object);

04.02.2018, 18:09
Новичок на форуме
Регистрация: 04.02.2018
Сообщений: 4

Странно но не выходит не так не так… При этом если в консоль вывести один объект, и значение переменной id, то и значение свойства id объекта, и значение переменой id равны, но результат сравнения дает ложь. Скажите пожалуйста javascript сильно типизированный язык, так как значение переменной id я получаю из тега, и если я правильно понимаю оно имеет строковое значение, значение в массиве числовое, в этом может быть проблема?

04.02.2018, 18:16
Новичок на форуме
Регистрация: 04.02.2018
Сообщений: 4
Блин оператор, ну как же так я лоханулся, всю голову сломал, Сори ребят что отнял у вас время.
« Перестают работать слайдеры. | как дописать калькулятор Срочно!! »

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить ссылку на объект, содержащий DataURL? ssadfaf Общие вопросы Javascript 0 19.01.2015 11:20
Проблема с наполнением массива объектов — последний элемент заменяет собой все. Джангар AJAX и COMET 5 18.12.2014 22:54
Как найти точки соприкосновения двух объектов в RaphaelJS Fatalityap Библиотеки/Тулкиты/Фреймворки 3 03.08.2012 16:33
Как получить значения вышестоящих элементов дерева TreeStore ? Allan Stark ExtJS 1 31.07.2012 16:48
Массив объектов или объект объектов vladlen Общие вопросы Javascript 19 30.10.2010 03:10

Как вернуть новый массив объектов только с уникальным id вложенного объекта?

0xD34F

Если значения, по которым осуществляется уникализация, могут, будучи различными, иметь одинаковый строковый эквивалент, то на помощь приходят Map и Set :

const unique = (arr, key) => Array.from(new Map(arr.map(n => [ key(n), n ])), n => n[1]); // или (в отличие от объекта, Map запоминает порядок вставки, // так что тут взаимное расположение элементов сохраняется) const unique = (arr, key) => [. arr.reduce((acc, n) => < const k = key(n); return acc.set(k, acc.get(k) ?? n); >, new Map).values()]; // или const unique = (arr, key) => arr.filter(function(n) < const k = key(n); return !this.has(k) && this.add(k); >, new Set);

получить объект из массива js

Для получения объекта из массива в JavaScript можно использовать метод find() . Он принимает функцию обратного вызова, которая будет вызвана для каждого элемента массива. Функция должна вернуть true , если элемент соответствует заданному условию, и false в противном случае. Метод find() возвращает первый элемент массива, для которого функция вернула true .

const cars = [  make: 'Toyota', model: 'Camry', year: 2018 >,  make: 'Honda', model: 'Accord', year: 2019 >,  make: 'Tesla', model: 'Model S', year: 2020 >, ]; const car = cars.find(function (item)  return item.make === 'Honda'; >); console.log(car); // 

В этом примере мы создали массив объектов cars , затем использовали метод find() для поиска объекта, у которого свойство make равно ‘Honda’ . Метод find() вернул первый объект, который соответствует этому условию.

как вернуть массив объектов с нужными полями объектов js (name, team,goals)

Судя по заголовку, вам нужно из одного массива объектов сделать другой с более ограниченным набором полей. Если я правильно понимаю, можно так:

function getGoalsStat(players)< return players.map( (< name, team, goals >) => (< name, team, goals >) ); > // examples const players = [ < name: 'Jason Mount', birthdate: '19.12.1993', country: 'Deutschland', number: '21', team: 'Manchester United', position: 'MF', goals: 4, >, < name: 'Jason Mount', birthdate: '01.01.2001', country: 'Deutschland', number: '16', team: 'Manchester United', position: 'MF', goals: 0, >, < name: 'Finne Bard', birthdate: '13.02.1995', country: 'Norwegen', number: '26', position: 'FW', team: 'Fulham United', goals: 1, >, < name: 'Gerhardt Yannick', birthdate: '13.03.1994', country: 'Deutschland', number: 31, position: 'MF', team: 'Liverpool', goals: 8, >, ]; console.log(getGoalsStat(players));

Если нет, приведите пример желаемого результата.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *