gpt4 book ai didi

javascript - 根据参数更新数组中的值

转载 作者:行者123 更新时间:2023-12-03 03:53:52 31 4
gpt4 key购买 nike

使用 JavaScript 或 Jquery,我有以下根据开始日期(坐标)排序的数组:

[{
elem: '<div id="task7">',
startDate: 864,
endDate: 999,
order: 0
},
{
elem: '<div id="task6">',
startDate: 918,
endDate: 1053,
order: 1
},
{
elem: '<div id="task5">',
startDate: 945,
endDate: 1269,
order: 2
},
{
elem: '<div id="task4">',
startDate: 972,
endDate: 1107,
order: 3
},
{
elem: '<div id="task8">',
startDate: 1026,
endDate: 1161,
order: 4
}]

如果一个字符串的“startDate”大于任何其他字符串的“endDate”,我想将“order”值更新为参数为 true 的比较字符串。

下面是我尝试输出的示例,其中字符串 4 的“顺序”为 0(与字符串 0 相同):

[{
elem: '<div id="task7">',
startDate: 864,
endDate: 999,
order: 0
},
{
elem: '<div id="task6">',
startDate: 918,
endDate: 1053,
order: 1
},
{
elem: '<div id="task5">',
startDate: 945,
endDate: 1269,
order: 2
},
{
elem: '<div id="task4">',
startDate: 972,
endDate: 1107,
order: 3
},
{
elem: '<div id="task8">',
startDate: 1026,
endDate: 1161,
order: 0
}]

最佳答案

也许是这样的

var arr = [
{elem: '<div id="task7">', startDate: 864, endDate: 999, order: 0},
{elem: '<div id="task6">', startDate: 918, endDate: 1053, order: 1},
{elem: '<div id="task5">', startDate: 945, endDate: 1269, order: 2},
{elem: '<div id="task4">', startDate: 972, endDate: 1107, order: 3},
{elem: '<div id="task8">', startDate: 1026, endDate: 1161, order: 4}
];


arr.forEach( function(start){
var less = arr.filter(function(item){ return start.startDate > item.endDate})[0];

if (less) start.order = less.order;
} );

console.log(arr);

关于javascript - 根据参数更新数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45046817/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com