gpt4 book ai didi

javascript - 如何使用javascript按天将数组列表拆分为单独的数组

转载 作者:行者123 更新时间:2023-11-30 07:32:08 25 4
gpt4 key购买 nike

如何按天拆分数组列表

const days = [
{'name':'Mon','value':1},
{'name':'Tue','value':5},
{'name':'Wed','value':10},
{'name':'Wed','value':30},
{'name':'Fri','value':18},
{'name':'Sat','value':80},
{'name':'Sat','value':90},
{'name':'Sun','value':20},
]

我在 wedSat 的日子里有上面的数组列表 我有 thu 的两个值 我没有值。如果日期不在列表中,我需要将重复的键值拆分为单独的数组我需要为此添加零值,例如我的输出将是

const result = [
[1,5,10,0,18,80,20],
[0,0,30,0,0,90,0]
]

我需要这样的结果是否可以用 javascript 完成。

最佳答案

您可以使用 native 执行此操作javascript.

算法很简单:

  1. 对于 daysArray 中的每一天您应该在给定的数组中搜索它,并且只搜索 remove第一次出现在 days .

  2. 执行步骤 1 直到days是空的。也就是说,执行第1步直到days.length == 0条件满足。

let days = [ {'name':'Mon','value':1}, {'name':'Tue','value':5}, {'name':'Wed','value':10}, {'name':'Wed','value':30}, {'name':'Fri','value':18}, {'name':'Sat','value':80}, {'name':'Sat','value':90}, {'name':'Sun','value':20} ], daysArray = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun'];
let result = [];
while(days.length){
sub_array = [];
daysArray.forEach(function(item){
let index = days.findIndex(a => a.name == item);
if(index == -1)
sub_array.push(0);
else{
sub_array.push(days[index].value);
days.splice(index, 1);
}
});
result.push(sub_array);
}
console.log(result);

关于javascript - 如何使用javascript按天将数组列表拆分为单独的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48396593/

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