### 等腰三角形
o
o o
o o o
o o o o
o o o o o
o (空格移了四个)
o o (空格移了3个)
o o o (2个)
o o o o (1个)
o o o o o (0个)
```h
// 倒三角
for (let i = 0; i < 5; i++) {
// 空格
for (let j = i; j < 5; j++){
document.write('#')
}
//换行
document.write('<br>')
}
```
```h
//等腰三角形
for (let i = 0; i < 5; i++) {
// 空格
for (let j = i+1; j < 5; j++){
document.write('  ')
}
// 星星
for (let j = 0; j < i; j++) {
document.write('*   ')
}
//换行
document.write('<br>')
}
```
### 数组
#### 数组的特点
1. 数组是可以存储多个数据
2. 可以存储多种数据类型
3. 数组是有序的,下标
4. 使用数组
```h
let arr = [1,2,3,4]
let user = { }
let arr1 = [1,'2',true,undefined,null,user]
console.log(arr[0])
```
```h
// 5. 数组的长度(属性)
console.log(arr.length)
// 加个括号 是方法
console.log(arr.length())
```
6. 数组的遍历 ---> 遍历的本质是通过循环掌到每一个数组元素
```h
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]); //获取数组元素,并打印
arr[i] = arr[i] + 5 // 获取数组元素,并重新对元素赋值
}
```
- 例题:求出数组中的最大最小值
```h
let arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]
// 默认最大值和最小值
let max = arr[0]
let min = arr[0]
for (let i = 0; i < array.length; i++) {
max = arr[i] > max ? arr[i] : max
min = arr[i] > min ? arr[i] : min
}
console.log(max,min)
```
7. 新增数组 push unshift
```h
let arr = [1,2,3,4]
arr.push('a') //常用,在数组中最后一个元素后面添加
console.log(arr)
arr.push('b') //在数组中第一个元素前面添加
console.log(arr)
```
8. 删除数组(并且能够获取到删除的元素) pop shift splice(start,count)
```h
let arr = [1,2,3,4]
let res = arr.pop()
console.log(arr)
console.log(res)
let res1 = arr.shift()
console.log(arr)
console.log(res1)
```
9. 截取数组 splice(从哪里开始删start,删除几个count) 返回值为数组
```h
let arr = [1,2,3,4]
let res2 = arr.splice(1,3)
console.log(arr)
console.log(res2)r
```
#### 筛选
- 数组去0案例
```h
//将数组中的 0 去掉后,形成一个不包含 0 的新数组
//第一种方法 push
let arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]
let newArr1 = []
for (let j = 0; j < arr.length; j++) {
if(arr[j] !== 0){
newArr1.push(arr[j])
}
}
console.log(newArr1)
//第二种方法 splice
let newArr = []
for (let i = 0; i < arr.length; i++) {
if(arr[i] === 0){
arr.splice(i,1)
}
}
console.log(newArr)
```
10. 数组的排序 冒泡排序 选择排序 插入排序 sort()
- 链接:https://cloud.tencent.com/developer/article/2079941
```h
let arr = [5,258,698,745,1]
arr.sort(function (a,b){
return a - b // 升序排序
return b - a // 降序排序
})
```
### 函数
1. 函数:最大的作用是 复用,减少重复代码的编写
```h
//无参无返函数声明
function eat(){
console.log('我要吃饭')
}
//有参无返回值
function sleep(name){
console.log(`${name}要睡觉了`)
}
//调用函数
eat()
sleep('小明')
```