数组与排列

上周学习内容总结

作用域

全局作用域  局部作用域(函数)

作用域的查找规则

使用一个变量  如果 自己的作用域有 就直接拿来用  如果自己的作用域没有 没有就一直往上一级作用域查找 如果有就拿来用  直到找到  全局作用域  如果有 就拿来用  如果没有 -> 报错  xxx is not defined 

作用域的赋值规则

修改一个变量  如果 自己的作用域有 就直接修改  如果自己的作用域没有 没有就一直往上一级作用域查找 如果有就直接修改  直到找到  全局作用域  如果有 就修改全局作用域的变量    如果没有 那就在全局先声明一个 再 赋值 

递归

函数自己调用自己 写递归的时候  先写 结束条件

对象

var obj = {} 空对象

创建对象的方式

  • 字面量创建 var obj = {}
  • 内置构造函数 var obj = new Object()

操作对象

- 增
obj.name = "Jack"
obj["name"] = "Rose"
- 修改
obj.name = "Jack"
obj["name"] = "Rose"
- 删除
delete obj.name
delete obj["name"]

今日学习内容总结

数据类型分类

所有数据类型分为两个大类 基本数据类型复杂数据类型
基本数据类型: number / string / boolean / undefined / null
复杂数据类型: object / function / array / …
创建一个空数组
var arr1 = []
var arr1 = new Array()
创建一个长度为 10 的数组
var arr2 = new Array(10)
创建一个有内容的数组
var arr3 = new Array(1, 2, 3)
var arr2 = [1, 2, 3]

数据类型之间存储的区别

存储空间分成两种 栈 和 堆
栈: 主要存储基本数据类型的内容
堆: 主要存储复杂数据类型的内容
基本数据类型是 之间的比较
复杂数据类型是 地址 之间的比较

数组常用方法

push 是用来在数组的末尾追加一个元素
pop 是用来删除数组末尾的一个元素
unshift 是在数组的最前面添加一个元素
shift 是删除数组最前面的一个元素
splice 是截取数组中的某些内容,按照数组的索引来截取
reverse 是用来反转数组使用的
sort 是用来给数组排序的
concat 是把多个数组进行拼接
join 是把数组里面的每一项内容链接起来,变成一个字符串

for in 循环

使用 for 循环来循环数组,因为 for 循环我们也可以设置成 0 ~ n 顺序增加
这个行为叫做 遍历

冒泡排序

先遍历数组,让挨着的两个进行比较,如果前一个比后一个大,那么就把两个换个位置。
数组遍历一遍以后,那么最后一个数字就是最大的那个了。
然后进行第二遍的遍历,还是按照之前的规则,第二大的数字就会跑到倒数第二的位置。
以此类推,最后就会按照顺序把数组排好了。
例如:将数组进行排列

 var arr = [5, 39, 15, 80, 65, 25, 45]
    for (k = 0; k <= arr.length; k++) {
        for (var i = 0; i <= arr.length - 1 - k; i++) {
            if (arr[i] > arr[i + 1]) {
                var temp = arr[i]
                arr[i] = arr[i + 1]
                arr[i + 1] = temp
            }
        }
    }
    console.log(arr);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值