数组的特点及筛选,内含倒三角小技巧

### 等腰三角形

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('&nbsp&nbsp')

            }

            // 星星

            for (let j = 0; j < i; j++) {

                document.write('* &nbsp&nbsp')  

            }

            //换行

            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('小明')

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值