gpt4 book ai didi

javascript - 使用循环推送到作为 Map 中的值的数组

转载 作者:行者123 更新时间:2023-12-01 01:02:14 26 4
gpt4 key购买 nike

我目前正在尝试创建一个函数,该函数可以动态更改 map 中数组的值。此函数的目的是在每次完整循环时在数组中创建一个新元素,以表示要计数的新实例。

该函数旨在计算一个国家/地区每天有多少游客。这是通过 map 完成的,键是国家/地区,值是访问者列表。每个元素都是特定一天内有多少访客。

地点 map :

var countries = new Map();
('England', [0]);
('France', [0]);
('Spain', [0]);
('Poland', [0]);
('Germany', [0]);
('Russia', [0]);

对于代码:

for(var day = 0; day < daysBack; day++){
var dateToFind = (currentDate.date() + " / " +
currentDate.month() + " / " +
currentDate.year());

var detectionsOnDate = getActivity(dateToFind );
// Returns an array of locations visited, each visit is a new element
// eg. ["France", "France", "England", "France"]

for(var detectionLocation of detectionsOnDate){
for(var[location, visits] of countries ){
if(location == detectionLocation){
countries.set(location, visits[day]++);
}
}
}
currentDate.subtract(1, 'days');
}

我正在寻找的结果是类似于以下内容的 map :

{
('England', [242,235,853,122,512]);
('France', [241,621,173,173,512]);
('Spain', [62,235,213,465,126]);
('Poland', [734,163,856,354,142]);
('Germany', [234,235,643,237,512]);
('Russia', [174,200,136,107,164]);
}

在我的逻辑想法中,每次完成新的“day”循环时,都应该在值中创建一个新元素。在每天的每个循环中, map 中的相同元素都应该更新。

我对 JS 比较陌生,所以如果这是一个简单的修复,我很抱歉,仍在寻找解决办法。任何帮助都是appriced。谢谢。

最佳答案

push返回数组的长度。因此,将为每个键设置一个数字。相反,您可以concat一个新数字到value数组,并将其设置为当前键。

map.set(key, value.concat(value[i]+1))

map.set(key, value.concat(0))

关于javascript - 使用循环推送到作为 Map 中的值的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55958609/

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