在比较当前元素和下一个元素时,如何从数组中获取最后一个元素?

时间:2018-08-06 10:03:01

标签: javascript arrays for-loop iteration arrow-functions

我有一个包含键值对的数组。键是(ID,Lat,Lon)。

我想做的是将当前元素ID与下一个元素ID进行比较,如果它们相等,则将当前元素的Lat和Lon放在对象中(在我的情况下为“ point”),然后调用一个函数(在该对象上为InjectIntoArray初始化全局数组的点point [])。

当条件变为假(即当前ID不等于下一个ID)时,在其他部分中,我将当前元素Lat和Lon放在一个对象中并在该对象上调用函数,这是因为下一个元素的ID即将进行会有所不同,我必须获取当前元素ID的所有纬度和经度。

当检查最后一个元素时会出现问题,它会退出而不获取最后一条记录。(即list [lastElement])。

如何获取所有元素的纬度和经度?有没有更好的方法可以实现这一目标?

这是我的数组-

var list = [
            { id: 100, Lat: 19.25, Lon: 74}, { id: 100, Lat: 19.79, Lon: 74.19 }, 
            { id: 101, Lat: 19.99, Lon:75.10 }, { id: 101, Lat: 20.37, Lon:68.9}, 
            { id: 119, Lat: 17, Lon: 70 }, { id: 107, Lat: -16, Lon: -165 }, 
            { id: 107, Lat: -15, Lon: -150 }
           ];

和代码-

 for (let i = 0; i < list.length - 1;i++) {
                        if (list[i].id == list[i+1].id) {
                            var point = { LATITUDE: list[i].Lat, LONGITUDE: list[i].Lon };
                            InjectIntoArray(point);
                        }
                        else {
                            var point = { LATITUDE: list[i].Lat, LONGITUDE: list[i].Lon };
                            InjectIntoArray(point);
                            plotRoute(false,2);
                            points = [];
                        }

                    }

1 个答案:

答案 0 :(得分:0)

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.0.0:shade (default) on project projectA: Error creating shaded jar: duplicate entry: META-INF/MANIFEST.MF -> [Help 1]