javascript第八天数组对象
数组对象
- 创建数组的方式
(1) 字面量创建:[1,2,3,4,5]
(2) 构造函数创建: Array(1,2,3,4,5)
(3) 构造函数创建: new Array(1,2,3,4,5) 数组对象
- 数组的方法
(1) 数组对象的添加和删除方法
① 在数组末尾操作
1) Push:在数组末尾添加数组项
- 用法:数组.push(要添加的数组项1,要添加的数组项2,......);
- Push方法的返回值 是 追加完 数组项之后 数组的长度
2) Pop:在数组末尾删除数组项 只能删除一个
- 用法:数组.pop()
- Pop的返回值是被删除的数组项
② 在数组的开头操作
1) unshift:在数组开头添加数组项
- 用法:数组.unshift(要添加的数组项1,数组项2,....)
- 返回值是 添加之后 数组的长度
2) Shift:在数组开头删除数组项 只能删除一个
- 用法:数组.shift();
- 返回值是 删除的数组项
(2) 数组的删除,插入和替换方法
① Splice
1) 删除:数组.splice(start,删除的位数)
2) 替换:数组.splice(start,删除的位数,用来替换的数组项1,数组项2....),即使放进去的数组项多了也不会出问题
3) 插入:数组.splice(start,0,要插入的数组项1,数组项2.....)
- 数组的排序方法(排序算法)
(1) Sort
① 用法1:数组.sort();
1) 作用:按照默认的排序规则给数组排序
2) 默认规则 按照Unicode编码进行排序
② 用法2:数组.sort(function(a,b){
Return a - b //从小到大排序
Return b - a //从大到小排序
})
③ 底层原理:就是冒泡排序
Date.parse(“时间”) 将会把时间转换为时间戳
- 数组的其他方法
(1) Join 将数组中的数组项 拼接在一起 组成一个字符串
① 用法:数组.join(); 默认使用,进行拼接
② 用法:数组.join(“拼接标识”); 可以使用指定的拼接标识来拼接
(2) Reverse:将数组整个翻转
① 用法:数组.reverse();
(3) Concat: 数组的拼接
① 用法:数组.concat(新数组) 将原数组 和 新数组拼在一起 生成一个拼好的新数组
② Concat也可以传入数组项
(4) indexOf:获取指定数组项的下标,如果指定数组项出现多次,只获取第一次出现的下标
① 用法:数组.indexOf(指定的数组项)
② 作用:和字符串的indexOf方法完全一样
(5) Slice:截取数组
① 用法:数组.slice(start , end) 能取到开头 取不到结尾
② 数组的slice方法 截取到的结果 是一个数组
var str5 = arr.slice(2,3);//能取到开头 取不到结尾
console.log(str5);
结果:["貂蝉"]
(6) 数组的迭代(循环)方法
① every
1) 用法:arr.every(function(item,idx){ return 判断表达式 })
2) Item:数组中的数组项 idx:数组中的下标
3) 作用:如果每一个数组项循环之后 返回的表达式的值都是true 则every方法函数返回值也是true 否则every方法函数的返回值就是false
② Some
1) 用法和every完全一样
2) 作用:如果有一个数组项满足返回的条件 some方法函数的返回值就是true ,如果所有数组项都不满足条件 some返回值就是false
③ Filter
1) 用法:数组.filter(function(item,idx){ return 判断条件 })
2) 作用:filter方法 会自动生成一个新数组 将原数组中满足条件的数组项过滤出来 存入新数组中
④ Map:
1) 用法:数组.map(function(item,idx){ return 对数组项的具体操作 })
2) 作用:map方法 会自动生成一个新数组 将原数组中每一个数组项执行指定的操作,并存入新数组中
⑤ forEach:
1) 用法:数组.forEach(function(item,idx){ 操作数组项或下标 })
2) 作用:直接操作数组中的数组项或下标 不会生成新数组
3) 操作数组项或下标 不会改变原数组
- 数组实际操作实例
(1) 中文名排序
① 排序中文字符串 可以根据 拼音首字母进行排序
1) 方法:localCompare
浙公网安备 33010602011771号