Как отсортировать месяц в массиве React Native? [Дубликат]

Есть ли причина, по которой вам нужно делать все за один раз?

Это довольно легко, если вы укажете дополнительные элементы для добавления в отдельные вары, так как вы можете просто сделать list1 + list2 .

---
- hosts: localhost
  gather_facts: False
  connection: local
  vars:
    mylist:
      - one
      - two
    mycondition: False
    myconditionalitem: foo
  tasks:
    - debug:
        msg: "{{ mylist + [myconditionalitem] if mycondition else mylist }}"
0
задан Pranav C Balan 11 May 2016 в 15:41
поделиться

1 ответ

Используйте sort() с объектом отображения порядка месяца

var data = [
  ["June", 60],
  ["February", 17],
  ["January", 30],
  ["March", 40],
  ["April", 40],
  ["May", 50]
];
// object which holds the order value of the month
var monthNames = {
  "January": 1,
  "February": 2,
  "March": 3,
  "April": 4,
  "May": 5,
  "June": 6,
  "July": 7,
  "August": 8,
  "September": 9,
  "October": 10,
  "November": 11,
  "December": 12
};

// sort the data array
data.sort(function(a, b) {
  // sort based on the value in the monthNames object
  return monthNames[a[0]] - monthNames[b[0]];
});

document.write('<pre>' + JSON.stringify(data, 0, 3) + '</pre>')

3
ответ дан Pranav C Balan 19 August 2018 в 12:10
поделиться
  • 1
    Большое вам спасибо ... его хороший и чистый – Nikit Patel 11 May 2016 в 15:50
  • 2
    @NikitPatel: рад помочь :) – Pranav C Balan 11 May 2016 в 15:56
  • 3
    Может быть упрощен до простого массива месяцев и return monthNames.indexOf(a[0]) - monthNames.indexOf(b[0]); – mplungjan 20 May 2018 в 10:46
  • 4
    @mplungjan ... Я думаю, что при сравнении с методом accessover indexOf свойства будут медленнее – Pranav C Balan 20 May 2018 в 12:39
Другие вопросы по тегам:

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