【JavaScript】JavaScript基础(三)

目录

Javascript数组

数组的概念:

什么是数组:

数组的创建方式

数组元素的类型

数组的索引

遍历数组

数组的长度

数组的操作(增删改查)

数组排序(冒泡排序)重点


Javascript数组

数组的概念:   

        数组(Array)可以把一组相关的数据一起存放,并提供方便的访问(获取)方式

什么是数组:

        数组是指一组数据的集合,其中每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式

  //普通变量一次只能存储一个值
 let num = 10
  //数组一次可以存储多个值
 let arr = [1,2,3,4,5,6]

数组的创建方式

JS中创建数组有两种方式:

  • 利用 new创建数组
let 数组名 = new Array()
let arr = new Array() //创建一个新的空数组
  • 利用数组字面量创建数组
// 1、使用数字字面量的方式创建空数组
  let 数组名 = []
// 2、使用数组字面量的方式创建带初始值的数组
  let 数组名 = ['小白','大白','小黑']

数组元素的类型

数组中可以存放任意类型的数据,例如字符串,数字,布尔值等

  let 数组名 = ['小白','大白','小黑' ,1 ,true]

数组的索引

索引(下标):用来访问数组元素的序号(数组下标从0 开始);

数组可以通过索引来访问、设置、修改对应的数组元素。我们可以通过"数组名[索引]"的形式来获取数组中的元素。

//定义数组
let arr = [1,2,3]
//获取数组中第二个元素
alert(arr[1])

遍历数组

 <script>
    // 通过for循环遍历数组
    let arr = ['red', 'blue', 'green']
    for (let i = 0; i < 3; i++) {
      console.log(arr[i - 1, i]);
    }
  </script>

因为我们得数组索引号从0开始,所以i必须从0 开始  i<3

输出得时候arr[i] i计数器当索引号来用

数组的长度

使用"数组名.length"可以访问数组元素的数量(数组长度)

数组的操作(增删改查)

增(数组添加新的数据)

arr.push(新增的内容)

arr.unshift(新增的内容)

删(删除数组中的数据)

arr.pop()

arr.shift()

arr.splice(操作的下标,删除的个数)

改(重新赋值)数组名[下标] = 新值
查(查询数组数据)数组名[下标]
  • 数组增加新的方法

数组名.push()方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度

数组名.unshift()方法将一个或多个元素添加到数组的开头,并返回该数组的新长度

语法

arr.push(元素1,....,元素n)
arr.unshift(元素1,....,元素n)

//例子
 let arr = ['red', 'green']
 // arr.push  在数组后面新增元素
 arr.push('pink', 'blue')
 // arr.unshift  在数组前面新增元素
 arr.unshift('yellow')
 console.log(arr) // ['yellow','red','green','pink','blue']
  • 数组删除元素

数组.pop()方法从数组中删除最后一个元素,并返回该元素的值

数组.shift()方法从数组中删除第一个元素,并返回该元素的值

数组名.splice(下标起始位置,删除几个元素)  下标起始位置从0开始  删除的几个元素可以省略,如果省略则默认从指定的起始位置删除到最后

语法

//语法
arr.pop() //删除最后一个元素
arr.shift() // 删除第一个元素
arr.splice(start,deleteCount)

//例子
    let arr = ['yellow', 'red', 'green', 'pink', 'blue']
    // arr.pop()  删除数组后面的元素
    arr.pop()
    console.log(arr.pop()) // 打印出删除的元素 blue
    arr.shift()  删除数组前面的元素
    // arr.shift()
    console.log(arr.shift()) // 打印出删除的元素 yellow
    // arr.splice(从什么位置开始删, 删除几个元素)
    arr.splice(0, 1) // ['red', 'green', 'pink', 'blue']
    arr.splice(1)  // ['yellow']
    console.log(arr) // ['red','green','pink']

数组排序(冒泡排序)重点

冒泡排序:是一种简单得排序算法。它重复的走访过要排序得数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小得元素会经由慢慢浮到数列的顶端。(把任意一个元素里的值,从小到大或从大到小的顺序进行排序)

数字:

 //冒泡排序
    const arr = [2, 4, 5, 6, 1, 3]
    //外层循环长度减一次
    for (let i = 0; i <= arr.length - 1; i++) {
      //内层循环 最大次数等于外层循环数组长度-1
      for (let j = 0; j <= arr.length - i - 1; j++) {
        // 判断条件 如果数组大于这个数组加一 那么按照顺序替换到指定位置
        if (arr[j] > arr[j + 1]) {
          let temp = arr[j]
          arr[j] = arr[j + 1]
          arr[j + 1] = temp
        }
      }
    } console.log(arr);

运行结果:

字符串:

//冒泡排序
    const arr = ['qwe', 'qwer', 'qwert', 'qwerty', 'qw', 'q']
    //外层循环长度减一次
    for (let i = 0; i <= arr.length - 1; i++) {
      //内层循环 最大次数等于外层循环数组长度-1
      for (let j = 0; j <= arr.length - i - 1; j++) {
        // 判断条件 如果数组大于这个数组加一 那么按照顺序替换到指定位置
        if (arr[j] > arr[j + 1]) {
          let temp = arr[j]
          arr[j] = arr[j + 1]
          arr[j + 1] = temp
        }
      }
    } console.log(arr);

运行结果:

 混合(字符串+数字)

//冒泡排序
    const arr = ['qwe', 'qwer', 'qwert', 3, 1, 2]
    //外层循环长度减一次
    for (let i = 0; i <= arr.length - 1; i++) {
      //内层循环 最大次数等于外层循环数组长度-1
      for (let j = 0; j <= arr.length - i - 1; j++) {
        // 判断条件 如果数组大于这个数组加一 那么按照顺序替换到指定位置
        if (arr[j] > arr[j + 1]) {
          let temp = arr[j]
          arr[j] = arr[j + 1]
          arr[j + 1] = temp
        }
      }
    } console.log(arr);

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A Lucky Boy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值