按日期排序ImmutableJS和Moment()

时间:2018-10-11 12:10:15

标签: javascript sorting momentjs immutable.js

我有一个array的{​​{1}}。这些对象具有键objectsdatedate格式的moment,其创建方式如下:date

如何按日期的升序/降序对数组进行排序?

那个

moment('1970-11-11')

arrayOfObjects.sort((a, b) => b.get('date') - a.get('date');

不对其进行排序。

2 个答案:

答案 0 :(得分:1)

请原谅我,但如果我理解正确,那么您在该数组中有moment个对象完全可以进行日期计算和差异计算。所以如果是这样,为什么不呢?

var data = [moment('1972-11-11'), moment('1971-11-11'), moment('1973-11-11')]

const result = data.sort((a,b) => a.diff(b))  // change to b.diff(a) for desc

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

根据diff上的即时文档。无需date/unix等。

答案 1 :(得分:0)

尝试一下:

            <FormItem
                {...formItemLayout}
                label="E-mail"
            >
                {getFieldDecorator('email', {
                    rules: [{
                        // declare the type and message here
                        type: 'email', message: 'The input is not valid E-mail!',
                    }, {
                        required: true, message: 'Please input your E-mail!',
                    }],
                })(
                    <Input />
                )}
            </FormItem>
            <FormItem
                {...formItemLayout}
                label="Password"
            >
                {getFieldDecorator('password', {
                    rules: [{
                        required: true, message: 'Please input your password!',
                    }, {

                        // run some custom validator function here on your class
                        validator: this.compareToConfirmPassword,
                    }],
                })(
                    <Input type="password" />
                )}
            </FormItem>