Сортировать массив объектов по возрастанию по IP - PullRequest
0 голосов
/ 04 апреля 2020

У меня проблемы с этим вопросом. поэтому у меня есть массив объектов, таких как:

const dataNodes = [
  {
    name: 'nameFirstNode',
    port: '80',
    ip_urls: ['http://10.0.4.16/some-text/some-text/']
  },
  {
    name: 'nameSecondNode',
    port: '81',
    ip_urls: [
      'http://172.16.1.102/some-text/some-text/',
      'http://10.1.31.131/some-text/some-text/'
    ]
  },
  {
    name: 'nameThirdNode',
    port: '82',
    ip_urls: [
      'http://10.1.30.115/some-text/some-text/',
      'http://172.16.1.116/some-text/some-text/'
    ]
  },
  {
    name: 'nameForthNode',
    port: '83',
    ip_urls: 'http://10.1.31.173/some-text/some-text/'
  }
]

и как результат, я хочу отсортировать его по возрастанию по IP. вот так, я прав.

const dataNodes = [
  {
    name: 'nameThirdNode',
    port: '82',
    ip_urls: [
      'http://10.1.30.115/some-text/some-text/', // the less
      'http://172.16.1.116/some-text/some-text/'
    ]
  },
  {
    name: 'nameSecondNode',
    port: '81',
    ip_urls: [
      'http://172.16.1.102/some-text/some-text/',
      'http://10.1.31.131/some-text/some-text/' // the less
    ]
  },
  {
    name: 'nameForthNode',
    port: '83',
    ip_urls: 'http://10.1.31.173/some-text/some-text/'
  },
  {
    name: 'nameFirstNode',
    port: '80',
    ip_urls: ['http://172.16.1.118/some-text/some-text/']
  }
]

Я понимаю, что я могу взять IP в каждой строке с регулярным выражением, как это:

const regExpIp = /\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/;

, но большинство вопросов, как go через массив, используя желаемое свойство (ip_urls) и сортировку по возрастанию.

Большое спасибо)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...