【发布时间】:2020-12-17 12:46:04
【问题描述】:
我正在尝试将指向数组A 中连续0 序列开头的所有第一个索引推入新数组arr。
var C 确定序列中 0 的数量。例如,如果C 是2,则算法将查找00,如果C 是3,它将查找000,以此类推。 N 是数组 A 的长度。该算法似乎有效,但由于某种原因,新数组 arr 中的值重复
var A = [1, 0, 0, 1];
var N = 4;
var C = 1;
function S(A, N, C) {
var arr = [];
for (var i = 0; i < N; i++) {
for (var j = 0; j <= C; j++) {
if ((A[i] == 0) && (A[i + j] == 0)) {
arr.push(i);
}
}
}
console.log(arr);
return -1;
}
/// console result:
Array(5)
0: 1
1: 1
2: 2
3: 2
//Expected:
0: 1
1: 2
【问题讨论】:
-
B和C变量有什么用? -
你怎么打电话给
S()? -
indexes whose values equal to 0你的术语在这部分是关闭的。 “索引”是有效负载的指针位置,因此始终是唯一的。 “有效负载”当然不必是唯一的。 -
我不清楚人们认为他们如何回答这个问题,因为完全不清楚预期的结果是什么。为什么甚至需要两个循环?是一维数组。
-
同意@Pointy,你的预期结果和解释是什么,Настя Кондрашина?
标签: javascript arrays push