注:该练习为控制台输出
如图:
源码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>二维数组_杨辉三角</title>
<script>
var arr = [];
var str = "";
for (var x = 0; x < 10; x++){
arr[x] = [];
for (var y = 0; y<=x; y++){
if (x == y || y == 0){
arr[x][y] = 1;
str += arr[x][y] + "\t";
}else{
arr[x][y] = arr[x-1][y-1] + arr[x-1][y];
str += arr[x][y] + "\t";
}
}
str += "\n";
}
console.log(str);
console.log(arr);
</script>
</head>
<body>
</body>
</html>
解析:该练习主要讲述如何在不知道二维数组宽度的情况下,给数组元素赋值。
首先定义个空的一维数组,即:arr[]。
至于第二维数组,我们可以直接在第一层循环中对每一个一维数组元素进行再次定义数组,即:arr[x]=[]。
在此过程中是不需要考虑数组长度不够的,因为JS会自动根据数下标进行自动添加数组元素
例如:
一个数组a=[1,2];
该数组中只有两个元素,我们可以直接使用"a[3]=123;"来给第三个元素赋值(不会报错,感觉js的这个给数组添加元素的功能好diao啊)。
至于杨辉三角的原理解析,可参看博文“基础算法——图解杨辉三角(https://blog.csdn.net/m0_47015897/article/details/112426150)”