作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在尝试创建一个函数,该函数可以动态更改 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/
我是一名优秀的程序员,十分优秀!