Consider this array:
const arr = [
{order: 1, mess:"test1"},
{order: 2, mess:"test2"},
{order: 2, mess:"test2"},
{order: 2, mess:"test2"},
{order: 3, mess:"test3"},
{order: 4, mess:"test4"},
]
arr is always sorted by order.
I want to modify it to get:
const arr = [
{order: 1, mess:"test1"},
{order: 2, mess:"test2", sep:true},
{order: 2, mess:"test2"},
{order: 2, mess:"test2"},
{order: 3, mess:"test3", sep:true},
{order: 4, mess:"test4", sep:true},
]
sep must be inserted into an object if it has an order different from the preceding object.
I'm unable to write this function, even if it might be quite simple (I guess!).
At this time, I have this, but it doesn't work at all and I don't understand its behavior.
const arr = [
{order: 1, mess: "test1"},
{order: 2, mess: "test2"},
{order: 2, mess: "test2"},
{order: 2, mess: "test2"},
{order: 3, mess: "test3"},
{order: 4, mess: "test4"},
]
arr.forEach(function(value, i) {
i = Number(i)
const y = i + 1
if (arr[i] !== undefined && arr[y] !== undefined) {
if (arr[i].order === arr[y].order) arr[y].sep = true;
}
});
console.log(arr)
Do you have any idea? Thanks
i = Number(i)is not necessary