Javascript 那里';我的代码中有一个bug
我的代码不起作用。我想弄清楚什么是bug。有人能帮忙吗!它是一个函数,应该返回前n个三角形数的数组 例如,ListTriangularNumber(5)返回[1,3,6,10,15]Javascript 那里';我的代码中有一个bug,javascript,arrays,loops,Javascript,Arrays,Loops,我的代码不起作用。我想弄清楚什么是bug。有人能帮忙吗!它是一个函数,应该返回前n个三角形数的数组 例如,ListTriangularNumber(5)返回[1,3,6,10,15] function listTriangularNumbers(n) { var num; var array = []; for (i = 1; i <= n; ++i) { num = i; for (j = i; j >= 1; --j)
function listTriangularNumbers(n) {
var num;
var array = [];
for (i = 1; i <= n; ++i) {
num = i;
for (j = i; j >= 1; --j) {
num = num + j;
}
array.push(num);
}
return array;
}
函数列表三角形编号(n){
var-num;
var数组=[];
对于(i=1;i=1;--j){
num=num+j;
}
array.push(num);
}
返回数组;
}
您对j
的初始初始化是错误的,它从i
开始,所以它太高了。还调换了操作员,以确保条件正常
function listTriangularNumbers(n) {
var num;
var array = [];
for (i = 1; i <= n; i++) {
num = i;
for (j = i-1; j >= 1; j--) {
num = num + j;
}
array.push(num);
}
return array;
}
函数列表三角形编号(n){
var-num;
var数组=[];
对于(i=1;i=1;j--){
num=num+j;
}
array.push(num);
}
返回数组;
}
您可以尝试以下代码获取帮助:
a=ListTriangularNumber(8);
控制台日志(a);
函数列表三角形编号(n){
var-num;
var数组=[0];
对于(i=1;i您实际上不需要2个for循环来执行此操作。一个for循环就足够了
function listTriangularNumbers(n) {
// Initialize result array with first element already inserted
var result = [1];
// Starting the loop from i=2, we sum the value of i
// with the last inserted element in the array.
// Then we push the result in the array
for (i = 2; i <= n; i++) {
result.push(result[result.length - 1] + i);
}
// Return the result
return result;
}
console.log(listTriangularNumbers(5));
函数列表三角形编号(n){
//使用已插入的第一个元素初始化结果数组
var结果=[1];
//从i=2开始循环,我们对i的值求和
//使用数组中最后插入的元素。
//然后我们将结果推送到数组中
对于(i=2;i
函数列表三角形编号(n){
var-num;
var数组=[];
对于(i=1;i=1;--j){
num=num+j;
}
array.push(num);
}
返回数组;
}
var print=ListTriangularNumber(5);
console.log(print);
你说它不工作是什么意思?它在做什么?它没有做什么是你想要的?