@LoranDeMarcus

Как найти максимальный id в ассоциативном массиве?

Есть массив вида:
Array = [
{id: 0, name: name, email: email}, 
{id: 1, name: name, email: email},
{id: 2, name: name, email: email}, ...,
{id: n, name: name, email: email}]

Как в этом массиве найти максимальное значение id?
  • Вопрос задан
  • 1000 просмотров
Решения вопроса 3
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
const maxId = arr.reduce((max, item) => item.id > max ? item.id : max, 0);
Ответ написан
Negwereth
@Negwereth
lvivcss.com.ua
let maxId = Math.max(...array.map(i => i.id));
Ответ написан
Комментировать
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
const arr = [
{id: 3, name: 'name', email: 'email'},
{id: 0, name: 'name', email: 'email'}, 
{id: 2, name: 'name', email: 'email'},
{id: 1, name: 'name', email: 'email'}];

const max = (p, v) => {
  if (p.id < v.id)
    return -1;
  if (p.id > v.id)
    return 1;
  return 0;
};

const addUser = (userObject) => {
	arr.sort(max);
	const maxId = arr[arr.length - 1]['id'];
	userObject['id'] = maxId + 1;
	arr.push(userObject);
};

addUser({name: 'new name', email: 'new email'});

console.log(arr);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы