遍历数组的JavaScript

遍历数组的JavaScript,javascript,arrays,Javascript,Arrays,15年后我在尝试javascript,所以我不是这方面的专家。我在数组上完成了分组和排序。需要遍历和设置结果中的值的帮助 第一部分- 输入数据数组- var arr = [ { id: 1, name: 'fryh', name1: 'ksdtfuy', group: '1208', DT: '2019-10-02T19:20' }, { id: 2, name: 'fthy', name1: 'xdhftdx', group: '1209', DT: '2019-10

15年后我在尝试javascript,所以我不是这方面的专家。我在数组上完成了分组和排序。需要遍历和设置结果中的值的帮助

第一部分- 输入数据数组-

var arr = [
      { id: 1, name: 'fryh', name1: 'ksdtfuy', group: '1208', DT: '2019-10-02T19:20' },
      { id: 2, name: 'fthy', name1: 'xdhftdx', group: '1209',  DT: '2019-10-02T09:27' },
      { id: 3, name: 'qjkgjwer', name1: 'dhfdt', group: '1208',  DT: '2019-10-02T09:24' },
       { id: 4, name: 'jlkke', name1: 'atth', group: '1208', DT: '2019-10-02T19:20' },
      { id: 5, name: 'gfhjm', name1: 'dryt', group: '1208',  DT: '2019-10-02T09:28' },
      { id: 6, name: 'iuit', name1: 'xx', group: '1209',  DT: '2019-10-02T09:24' },
    ];
要根据组对其进行分组,然后根据DT对其进行排序。使用下面的代码实现了这一点&结果是分组的

function ReSeq(){
        var grouped = {};
        for (var i = 0; i < arr.length; i += 1) {
            if(!grouped[arr[i].group]) {
            grouped[arr[i].group] = [];
          }
          grouped[arr[i].group].push(arr[i]);
        }
        for (var group in grouped) {
          grouped[group] = grouped[group].sort(sortByPosition);
        }       
        console.log(grouped);               
    }
var sortByPosition = function(a, b) {
  var dateA = new Date(a.position), dateB = new Date(b.position);
  return dateA - dateB;
};

有几种方法可以做到这一点。在这里,
Array.forEach
(请参阅)用于重新评估.name1和
for(让x进入[obj])
以迭代对象条目:

//使用Array.reduce进行分组
const sortedAscendingAndGrouped=getArr()
.sort((a,b)=>新日期(a.DT)-新日期(b.DT))
.减少((acc,val)=>({…acc,
[val.group]:(acc[val.group]| |[])。concat(val)
}), {});
//遍历排序和分组组
//并使用
//数组.forEach
用于(让条目进入分拣和分组){
分类搜索和分组[条目]
.forEach((行,i)=>row.name1=(i+1)+“-”+row.name1);
}
控制台日志(分类、搜索和分组);
函数getArr(){
返回[{
id:1,
姓名:“fryh”,
名称1:‘ksdtfuy’,
组别:'1208',
DT:'2019-10-02T19:20'
},
{
id:2,
名称:“fthy”,
名称1:'xdhftdx',
组别:'1209',
DT:'2019-10-02T09:27'
},
{
id:3,
名称:“qjkgjwer”,
名称1:‘dhfdt’,
组别:'1208',
DT:'2019-10-02T09:24'
},
{
id:4,
名称:“jlkke”,
名称1:‘atth’,
组别:'1208',
DT:'2019-10-02T19:20'
},
{
id:5,
名称:'gfhjm',
名称1:‘干果’,
组别:'1208',
DT:'2019-10-02T09:28'
},
{
id:6,
名称:“iuit”,
名称1:‘xx’,
组别:'1209',
DT:'2019-10-02T09:24'
},
];
}
。作为控制台包装器{
排名:0;
最大高度:100%!重要;

}
有几种方法可以做到这一点。在这里,
Array.forEach
(请参阅)用于重新评估.name1和
for(让x进入[obj])
以迭代对象条目:

//使用Array.reduce进行分组
const sortedAscendingAndGrouped=getArr()
.sort((a,b)=>新日期(a.DT)-新日期(b.DT))
.减少((acc,val)=>({…acc,
[val.group]:(acc[val.group]| |[])。concat(val)
}), {});
//遍历排序和分组组
//并使用
//数组.forEach
用于(让条目进入分拣和分组){
分类搜索和分组[条目]
.forEach((行,i)=>row.name1=(i+1)+“-”+row.name1);
}
控制台日志(分类、搜索和分组);
函数getArr(){
返回[{
id:1,
姓名:“fryh”,
名称1:‘ksdtfuy’,
组别:'1208',
DT:'2019-10-02T19:20'
},
{
id:2,
名称:“fthy”,
名称1:'xdhftdx',
组别:'1209',
DT:'2019-10-02T09:27'
},
{
id:3,
名称:“qjkgjwer”,
名称1:‘dhfdt’,
组别:'1208',
DT:'2019-10-02T09:24'
},
{
id:4,
名称:“jlkke”,
名称1:‘atth’,
组别:'1208',
DT:'2019-10-02T19:20'
},
{
id:5,
名称:'gfhjm',
名称1:‘干果’,
组别:'1208',
DT:'2019-10-02T09:28'
},
{
id:6,
名称:“iuit”,
名称1:‘xx’,
组别:'1209',
DT:'2019-10-02T09:24'
},
];
}
。作为控制台包装器{
排名:0;
最大高度:100%!重要;

}
提供预期输出?如果我理解正确,您需要的是在每个组名中输入一个排序号?例如:
{id:6,名称:“qwer”,名称1:“1-xx”,组:“1209”,位置:“2019-10-02T09:24”}1:{id:2,名称:“qwe”,名称1:“2-xx”,组:“1209”,位置:“2019-10-02T09:27”}
是。类似的东西。。我不需要xx,但无论哪种方式,都需要一种修改名称1值的方式提供预期输出?如果我正确理解,您需要的是在每个组名称中输入一个排序号?例如:
{id:6,名称:“qwer”,名称1:“1-xx”,组:“1209”,位置:“2019-10-02T09:24”}1:{id:2,名称:“qwe”,名称1:“2-xx”,组:“1209”,位置:“2019-10-02T09:27”}
是。类似的东西。。我不需要xx,但无论哪种方式,都需要一种修改name1值的方式
{1208: Array(4), 1209: Array(2)}
1208: Array(4)
0: {id: 3, name: "qwer", name1: "xx", group: "1208", position: "2019-10-02T09:24"}
1: {id: 5, name: "qwe", name1: "xx", group: "1208", position: "2019-10-02T09:28"}
2: {id: 1, name: "qw", name1: "xx", group: "1208", position: "2019-10-02T19:20"}
3: {id: 4, name: "qw", name1: "xx", group: "1208", position: "2019-10-02T19:20"}
length: 4
__proto__: Array(0)
1209: Array(2)
0: {id: 6, name: "qwer", name1: "xx", group: "1209", position: "2019-10-02T09:24"}
1: {id: 2, name: "qwe", name1: "xx", group: "1209", position: "2019-10-02T09:27"}
length: 2
__proto__: Array(0)
__proto__: Object