- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在应对 FreeCodeCamp 挑战,但遇到了以下挑战:
Our goal for this Algorithm is to split arr (first argument) into smaller chunks of arrays with the length provided by size (second argument). There are several green checks (objectives) our code needs to pass in order to complete this Algorithm:
(['a', 'b', 'c', 'd'], 2) is expected to return [['a', 'b'], ['c', 'd']]
([0, 1, 2, 3, 4, 5], 3) is expected to return [[0, 1, 2], [3, 4, 5]]
([0, 1, 2, 3, 4, 5], 2) is expected to return [[0, 1], [2, 3], [4, 5]]
([0, 1, 2, 3, 4, 5], 4) is expected to return [[0, 1, 2, 3], [4, 5]]
([0, 1, 2, 3, 4, 5, 6, 7, 8], 2) is expected to return [[0, 1], [2, 3], [4, 5], [6, 7], [8]].
这是我想出的代码:
function chunkArrayInGroups(arr, size) {
var newArray = [];
var holdArray = [];
for (var i = 0; i <= arr.length; i += size) {
holdArray = arr.slice(0, size);
removed = arr.splice(0, size);
newArray.push(holdArray);
}
if (arr.length !== 0) {
newArray.push(arr);
return newArray;
}
else return newArray;
}
chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6, 7, 8], 2);
该算法适用于除最后一个目标之外的所有目标。而不是返回:
[[0, 1], [2, 3], [4, 5], [6, 7], [8]]
它正在返回:
[[0, 1], [2, 3], [4, 5], [6, 7, 8]] - 我不知道为什么。
如果能帮助我弄清楚哪里出了问题,我们将不胜感激!
最佳答案
我不怪你一头雾水,我也花了一段时间才找到问题。
首先确定您的 for
循环有点奇怪 - 您没有将 i
变量用于任何事情。此外,您 splice()
每次迭代都将原始数组向下,因此您的意图是正确的 - 等待直到数组中剩余的元素少于 size
。
所以我将其表示为 while
循环,瞧,它有效:
function chunkArrayInGroups(arr, size) {
var newArray = [];
var holdArray = [];
while (arr.length >= size) {
holdArray = arr.slice(0, size);
removed = arr.splice(0, size);
newArray.push(holdArray);
}
if (arr.length !== 0) {
newArray.push(arr);
return newArray;
}
else return newArray;
}
chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6, 7, 8], 2);
关于javascript - 数组元素不拼接成单独的数组 - FreeCodeCamp > Chunky Monkey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40208349/
我目前正在通过 freecodecamp 网站的 javascript 部分进行练习,我试图理解为什么特定的方法可以解决它。 function nextInLine(arr, item) { /
我正在尝试解决 freecodecamp 中的高尔夫代码挑战,但我无法真正弄清楚我的代码出了什么问题这里直接link 。链接包含我尝试运行的代码,只需访问该链接即可。 我的JS: function g
我正在尝试解决这个挑战“寻找和毁灭”。我不知道出了什么问题。有什么帮助吗? 寻找并摧毁您将获得一个初始数组(销毁器函数中的第一个参数),后跟一个或多个参数。从初始数组中删除与这些参数具有相同值的所有元
我在 freecodecamp 中遇到了一个 JavaScript 挑战,这可能非常简单,但我仍然不明白如何去做。其过程如下: // Setup function phoneticLookup(val
我无法提交表单 我已经彻底检查了我的代码几个小时,并查看了 freecodecamp 论坛上的帖子,但在我看来我仍然无法提交表单,也无法查明问题所在。 Email:
引用How can I get the sum of all odd fibonacci vales in javaScript?来自 FCC 的可能解决方案如下所示: function sumFib
我正在使用 freecodecamp 并进行以下练习: https://learn.freecodecamp.org/javascript-algorithms-and-data-structures
我正在努力在 FreeCodeCamp 上传递一些看起来很简单的东西。我的代码应该通过所有测试(console.log 似乎是这么认为的)。你觉得怎么样,我是不是漏掉了什么? 我失败的测试用例: ur
我正在尝试在 freecodecamp 上完成 twitch api。 我有一个 allTotalUsers 数组,其中包含我正在循环访问的用户。 我的循环似乎正确地为我的 allTotalUsers
我正在尝试为 freeCodeCamp 收银机项目创建一个 javascript 收银机函数。 它应该如何工作的描述如下: 设计收银抽屉功能checkCashRegister()接受购买价格作为第一个
function titleCase(str) { var strArr = str.toLowerCase().split(' '); var strUp = [str.leng
我正在参加 Freecodecamp 算法挑战,因为我是编程新手。问题描述如下: Reverse the provided string. You may need to turn the strin
当我在免费代码训练营开始“Falsy Bouncer”挑战时,我遇到了一个小问题。当我尝试创建如下所示的新 bool 对象时: var bool = new Boolean(); 出现一个黄色三 An
我正在应对 FreeCodeCamp 挑战,但遇到了以下挑战: Our goal for this Algorithm is to split arr (first argument) into sm
我正在 freecodecamp.com 上学习第 15 课,但我似乎无法完成它。目标是让我的 h2 元素使用字体 'Lobster',同时保持 Monospace。我应该复制,“http://fon
请参阅我针对以下挑战的(非最佳)解决方案: Return the number of total permutations of the provided string thatdon't have
我正在做一项练习,要求: 创建一个函数,该函数查找对象数组(第一个参数)并返回具有匹配属性和值对(第二个参数)的所有对象的数组。如果要包含在返回的数组中,源对象的每个属性和值对都必须存在于集合中的对象
我的代码不在网页上显示 Logo 、显示名称和状态,尽管它们显示在控制台中。请帮我找出问题所在。我非常感激!谢谢! 这是我的笔: https://codepen.io/cmtran/pen/vJGRW
返回排序后应将值(第二个参数)插入数组(第一个参数)的最低索引。返回值应该是一个数字。 例如,getIndexToIns([1,2,3,4], 1.5) 应该返回 1,因为它大于 1(索引 0)但小于
我对 JavaScript 还比较陌生。我正在开发 freeCodeCamp - “随机报价机”。并尝试发送变量和/或 html .class。 到目前为止我的代码:Code Pen $('#twee
我是一名优秀的程序员,十分优秀!