热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在JavaScript中重复一个字符串数组,使我可以求和?

如何解决《如何在JavaScript中重复一个字符串数组,使我可以求和?》经验,为你挑选了1个好方法。

我需要创建一个星期的日子的数组,我需要创建一个函数,它接受了一天数ñ和一天后返回ñ天(例如getDayAfter('Monday', 4)将返回'Friday')。

我已经创建了名为的数组day。它具有阵列中的星期几。

我正在创建一个函数RepeatArray,它应该创建一个新的数组。

let day = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];

function repeatArray(day, count) {

  var ln = day.length;
  var b = new Array();
  var a = new Array();
  
  for (i = 0; i 

我希望输出为a, 13星期一,但输出为0



1> IceMetalPunk..:

让我们看一下代码当前的功能,这通常是查找任何问题的好方法。

let day = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];

这将在外部范围内创建星期几数组。

function repeatArray(day, count) {

这声明了repeatArray函数-遮盖了“ day”变量。由于它在全局范围内与“ day”数组具有相同的名称,因此该函数中引用“ day”的任何内容都将引用此参数,并且您将无法访问外部数组。

var ln = day.length;
var b = new Array();
var a = new Array();

ln现在是传递给函数的第一个参数的长度。b和a是空数组。

for (i = 0; i 

对于所有从0到i的i,这会将第一个参数中位于i mod ln位置的值推入第一个参数。因此,如果第一个参数是数组['a','b','c'],且count为6,则它将推入'a','b','c','a','b' ,第一个参数的 'c' ,得到数组['a','b','c','a','b','c','a','b','c'] 。我认为这不是您想要的。但是,让我们继续。

return b;

该函数返回b,它仍然只是一个新的空数组,其中没有任何东西,因为我们还没有碰过它。

var a = new Array();
a.push("test1");
a.push("test2");
a.push("test3");

这将创建一个数组a,最终为['test1','test2','test3']。

var b = repeatArray(a, 13);
console.log(b.length);

在我们的函数调用中,“ day”将是数组a(因此['test1','test2','test3']),并且count将为13。由于函数每次都返回一个空数组,因此长度始终为为0。但是,将对数组a进行修改,使其重复执行“ test1”,“ test2”,“ test3” 13次,使其长度为16(13加初始3个值)。

对于您的任务,您不需要这种重复或创建新的数组。您可以只使用模块化数学:)

let day = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];
function daysAfter(initial, n) {
    const initialIndex = day.indexOf(initial);
    return day[(initialIndex + n) % day.length];
}

所以现在daysAfter('wednesday', 13)将等于tuesday预期:)


好的答案,继续写那些:)
推荐阅读
author-avatar
手机用户2602905005
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有