【发布时间】:2022-09-30 13:08:38
【问题描述】:
首先我想说我还是 JavaScript 新手,这是 CodeWars Kata公交车上的人数。
我也知道有一种更简单的方法可以完成这项任务,但如果我只是用谷歌搜索答案,我觉得我不会学到任何东西,所以这里是:
大家好, 在循环结束时,如何让它在重复时添加 a,减去 b?那叫什么?
IE。
[ 10, 0, 3, 5, 5, 8 ]
应该像这样工作数学:
[ 10 - 0 + 3 - 5 + 5 - 8 ]
它是一个 codewars kata,我知道有一种简单的方法可以做到这一点,但我已经走了很长一段路。
这是我要做的代码(以及作为测试用例的console.log)
var number = function (busStops) {
let newBusStops = [];
for (let i = 0; i < busStops.length; i++) {
newBusStops = newBusStops.concat(busStops[i]);
}
// return newBusStops;
let passengers = 0;
for (let i = 0; i < newBusStops.length; i++) {
passengers += newBusStops[i];
}
return passengers;
};
// var number = function (busStops) {
// let passengers = 0;
// for (let i = 0; i < busStops.length; i++) {
// passengers += parseInt(number[i]);
// busStops.toString();
// return busStops;
// }
// };
// var number = function (busStops) {
// for (let i = 0; i < busStops.length; i++) {
// return busStops[i][0] - busStops[i][1];
// }
// };
// return busStops[0][0];
console.log(
number([
[10, 0],
[3, 5],
[5, 8],
])
);
console.log(
number([
[3, 0],
[9, 1],
[4, 10],
[12, 2],
[6, 1],
[7, 10],
])
);
我已经设法展平二维数组,但我只能添加展平的数组,我不知道该怎么做add a minus b。我不知道那叫什么所以我可以搜索一下
-
你为什么决定展平阵列?这种结构是有意义的,因为您在每个条目中都有
[+a, -b]。 -
我将它展平,二维数组对我来说是一个新概念,我无法让循环与二维数组一起工作
-
尝试用二维数组来做。您的第二个
for循环是一个很好的起点。在循环内部,您将有另一个数组,其中包含两个数字,例如[10, 0]。将第一个数字相加并从passengers中减去第二个数字。试试看。
标签: javascript for-loop