一 xmind (思维导图)
二 数组
1 数组的操作
1 索引
1 var arr = [“hello”,3,4,5,”world”];
2 数组是一个有序数据的集合
3 有序的序号,是索引
4 从0开始,
5 到哪结束
1 根据长度,得出到 length-1 结束
2 数组的第一个表示为:数组[0]
3 数组的最后一个表示为:数组[数组.length-1]
6 对数组的索引有以下几种操作 (增 删 改 差)
1 操作分为 读 和 写。
1 读数据:查;
2 写数据:增、删、改
1 增
1 增加数组的长度
2 给不存在的位置赋值
3 利用索引最方便的就是在最后一位增加,不方便在中间增加
4 程序
arr[arr.length] = “哈哈哈”;
2 删
1 强行缩短数组的长度
2 程序
// 原有长度是5
arr.length = 3;
3 改(其实就是赋值)
1 找到对应索引的数据,赋值(覆盖)
2 程序
arr[要修改数据的索引] = “四”;
4 查
1 根据索引直接获取
2 程序
arr[指定位置的索引]
2 数组的操作方法(对象的方法)
1 直接使用索引,增和删不方便,所以有如下这类操作.
1 *方法:数组
2 格式:数组.方法名
3 方法其实就是一个函数,不过是属于数组的内置函数
4 数组的内置方法要关注的点:
1功能
2 参数
3 返回值
4 是否修改原数组
2 方法
1 push方法
1功能:在最后的位置新增
2 参数:要增加的数据可以是多个
3 返回值:数据增加之后的长度
4 是否修改原数组:是
2 unshift方法
1功能:在开始的位置新增
2 参数:要增加的数据可以是多个
3 返回值:数据增加的长度
4 是否修改原数组
3 pop方法
1功能:删除最后一位
2 参数:无
3 返回值:删除的数据
4 是否修改原数组:是
4 shift方法
1功能:删除第一位
2 参数:无
3 返回值:删除的数据
4 是否修改原数组:是
5 join方法
1功能:将数据转成字符
2 参数:转成数据之后,每个数据之间的间隔符(默认的间隔符是 ,)
3 返回值:转换结果
4 是否修改原数组:否
6 splice方法
1功能:删除并替换指定位置的数据
2 参数:(两种情况)
1 两个:第1个参数: 起始索引,第2个参数:个数。不插入数据,只删除
2 两个以上:第1个参数:起始索引,第2个参数:个数。删除,且,从第3个参数开始后面的都是要插入的数据。
3 返回值:删除了的数据
4 是否修改原数组:是
7 slice方法
1功能:截取并拷贝出 子数组
2 参数:(两种情况)
1 一个:表示从(第1个参数值)指定位置开始截取,到结束
2 两个:表示从(第1个参数值)指定位置开始截取,到结束位置的前一个
3 返回值:截取并拷贝出来的新数组
4 是否修改原数组:否
8 concat方法
1功能:将数组合并到新数组并返回
2 参数:任何数据。如果是数组的话,会先被展开,再合并进去
3 返回值:合并之后的新数组
4 是否修改原数组:否
9 reserse方法
1功能:翻转数据(的排列顺序)
2 参数:无
3 返回值:翻转之后的数组,就是修改之后的原数组
4 是否修改原数组:是
10 sort方法
1功能:升序排序(默认排序规则是字符的比较规则)
2 参数:固定函数: function(m,n){return n-m;} 。其中,m-n数值升序;n-m数值降序
3 返回值:排序之后的数组
4 是否修改原数组:是
补充:
字符的比较规则:逐位比较,得到结果,就停止比较。
2 数组的分类、不同叫法、特点
1 数值数组
Var arr = [3,4,5,7,2,3];
2 字符数组
Var arr = [“a”,”b”,”c”];
3 布尔数组
Var arr = [true,false];
4 对象数组(又叫 json数组)
1 都是对象
2 var objArr = [{name:”admin”},{name:”root”},{name:”lisa”}];
5(数组数组)二维数组
1 数组里面都是数组
2 var twoAee = [[3,4,7,5,,9,0],[“a”,“true”,“b”],[“hello”,”world”]];
3 可以指定数组
Console.log(twoArr[2][0]);
4 可以用循环的嵌套 ,把数组里所有的数据扁平化
6 访问方式(操作方式 / 如何使用)
1 逐层解析
2 指定数据
3 所有数据
3 数组的排序
1 冒泡算法
1 代码怎么实现
多行多列结构,使用循环的嵌套
2 思路
两两比较,大的放后面
2 选择算法
1 代码怎么实现
多行多列结构,使用循环的嵌套
2 思路
按照从左到右的顺序,依次取出每个数据,和后面的数据做比较,找到最小值,交换。
4 新的遍历方式,不算循环 循环不是遍历;
拓展:
1 生活中解决一件事情的方法,在程序中叫方式
2 在程序中方法是个专有名字