Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据从最早到最新的日期将对象插入数组_Javascript_Arrays_Date_Javascript Objects - Fatal编程技术网

Javascript 根据从最早到最新的日期将对象插入数组

Javascript 根据从最早到最新的日期将对象插入数组,javascript,arrays,date,javascript-objects,Javascript,Arrays,Date,Javascript Objects,我需要一个对象数组。每个对象都有一个日期属性和一个字符串属性。我还有一个空数组。我无法理解将基于最早日期的字符串推送到最新日期的逻辑 const oldToNew = [] for (const baseId in results[key][test]) { // log the array of objects //example [{string: 'test', date: '2019-03-04T10:36:37.206

我需要一个对象数组。每个对象都有一个日期属性和一个字符串属性。我还有一个空数组。我无法理解将基于最早日期的字符串推送到最新日期的逻辑

     const oldToNew = []
     for (const baseId in results[key][test]) {
            // log the array of objects
            //example [{string: 'test', date: '2019-03-04T10:36:37.206000Z'}, {string: 'test1', date: '2019-03-010T10:36:37.206000Z'}]
            console.log(results[key][test][baseId])
            results[key][test][baseId].forEach(element => {

            });
        }
     // I want the value to be [test, test1]
用于将每个对象的
date
属性与其之前的属性进行比较-然后用于返回所有项的
string
属性数组

更新无需解析日期时间戳

const items=[{string:'test4',date:'2019-03-04T10:36:37.206000Z'},{string:'test1',date:'2019-03-10T10:36:37.206000Z'},{string:'test2',date:'2019-03-09T10:36:37.206000Z'},{string:'test3',date 2019-03-07T10:36:37.206000Z']
常量字符串=项
.sort((a,b)=>b.date>a.date)
.map(({string})=>string)
console.log(strings)
用于将每个对象的
date
属性与其之前的属性进行比较,然后用于返回所有项目的
string
属性数组

更新无需解析日期时间戳

const items=[{string:'test4',date:'2019-03-04T10:36:37.206000Z'},{string:'test1',date:'2019-03-10T10:36:37.206000Z'},{string:'test2',date:'2019-03-09T10:36:37.206000Z'},{string:'test3',date 2019-03-07T10:36:37.206000Z']
常量字符串=项
.sort((a,b)=>b.date>a.date)
.map(({string})=>string)

console.log(strings)
您需要使用
sort
对初始数组进行排序,然后使用
map

大概是这样的:

array.sort((a, b) => a.date < b.date).map(el => el.string);
array.sort((a,b)=>a.dateel.string);

您需要使用
sort
对初始数组进行排序,然后使用
map

大概是这样的:

array.sort((a, b) => a.date < b.date).map(el => el.string);
array.sort((a,b)=>a.dateel.string);

那么,您是否需要按日期(从最早到最新)排序的项目的数组[字符串]?是的@francisleigh可能重复的那么,您是否需要按日期(从最早到最新)排序的项目的数组[字符串]?是的@francisleigh可能重复的我们可以做一些事情吗?如果列表中有两个以上的对象array@Karam对你有存根数据吗?这个解决方案应该适用于任何数量。@Karam我已经在数组中添加了另外两项。如果您有一些想要使用的数据,请使用它更新您的问题:-)您不需要创建新的日期。ISO8601是为词典分类而设计的。因此,如果一个数据库中有两个以上的对象,我们能做些什么吗array@Karam是的,你有存根数据吗?这个解决方案应该适用于任何数量。@Karam我已经在数组中添加了另外两项。如果您有一些想要使用的数据,请使用它更新您的问题:-)您不需要创建新的日期。ISO8601是为词典分类而设计的。所以
'2007-01-17T08:00:00Z'<'2008-01-17T08:00:00Z'==true