Как найти индекс объекта с максимальными свойствами в массиве объектов в Javascript - PullRequest
0 голосов
/ 02 ноября 2018

Как найти индекс объекта с максимальными свойствами в массиве объектов.

Допустим, у меня есть массив ниже

    xyz = [
        {firstName: "John"}
        {firstName: "Jane", lastName: "Doe"}
        {firstName: "Mary", lastName: "Doe", age: "25", city: "newyork"}
        {firstname: "Jack", lastName: "sparrow", state: "NJ"}
    ]

Я бы хотел получить результат как result = 2, где 2 - индекс объекта в массиве xyz с дополнительными свойствами

1 Ответ

0 голосов
/ 02 ноября 2018

Вы не указали язык, поэтому я написал это на ruby, потому что его легко читать, даже если вы не знакомы. Идея почти одинакова на всех языках.

def max_properties_index(xyz)
  max_count = 0
  result_index = nil
  xyz.each_with_index do |element, index|
    if element.keys.length > max_count
      max_count = element.keys.length
      result_index = index
    end
  end
  return result_index
end

xyz[max_properties_index(xyz)]  # returns the object in the array at the index
...