数组对象的增删改查
-
数组特点
- 有序 有索引值(index),索引值是从【0】开始到【length-1】结束
- 数组中数据;可以为任意数据类型,数、据可重复
- 未来数据结构;数组中都是对象,对象中有数组
-
数组中取值
- 数组名字[索引值]
- 取最后一个数据 array[array.length-1]
- 取第一个数据 array[0]
-
数组长度
- 表示数组中数据的总个数
- 获取 var len = array.length
constructor
注意:所有的对象,都有构造函数(内置的,与自定义的)
除了 null 以外所有的对象都有 constructor ,constructor 指向该对象的构造函数
常见内置构造函数的总结:
- 数组 ------- Array()
- 布尔对象 ------- Boolean()
- 日期对象 ------- Date()
- 字符串对象 ------- String()
- 普通对象 -------- Object(非自定义构造函数)
其他构造函数为自定义
例如函数名字为 lisa
数组中的API Array
- push() 从数组尾部添加多个元素,返回一个新的长度
- 参数为添加的元素 参数有几个就添加几个元素
var arr = [1,2,2,2,3,4,56,76];
var len = arr.push('hello');
- unshift() 从数组头部添加多个元素,返回一个新的长度
- 参数为【添加元素】,参数有几个就添加几个元素
var arr = [1,2,3,4,56,5];
var len = arr.unshift(3,[2,3,4]);
- concat() 合并数组 返回一个合并后的新数组
- 参数为被合并的数组 可以合并多个数组
var arr1 = [1,2,3,5];
var arr2 = ['a','c','c'];
var arr3 = ['b','c']
var newArr = arr1.concat(arr2,arr3);
- pop() 从数组尾部删除最后一个元素 返回被删除的元素 无参数
var arr = [1,2,3,4,'hello'];
var date = arr.pop();
- shift() 从数组头部删除最后一个元素 返回被删除的元素 无参数
var arr = ['hello',1,2,3,4];
var data = arr.shift();
- splice() 删除 替换 插入等功能
- 删除
splice(index,num) 作用一 删除 返回【当前】被删除后元素组成的新数组
参一 表示从第index个索引开始
参二 表示删除num个数据
var arr = [1,2,3,'wyk','lcj',2,3];
// 接收被删除的元素
var arr1 = arr.splice(3,2);
- 替换
splice() 作用二:替换 从第几个元素开始 替换几个元素 新数据
参一:表示从第几个索引值元素开始
参二:表示替换几个元素
参。。。:表示用这几个参数来替换旧的数据
var arr = [1,2,3,4,5];
// 返回被替换的数组元素组成的新数组
var newArr = arr.splice(2,3,'wyk','lcj','cd');
console.log(arr);
console.log(newArr);
- 插入 一个不删除就是插入
splice(index,0,p1…) 插入 从第几个索引值开始插入几个元素
参一:表示从第几个【索引值】开始
参二:0 表示:不删除元素
参…:表示插入的元素
var arr = [38,2,249];
arr.splice(2,0,'wyk');
arr.splice(1,0,'zz');
console.log(arr);
-
总结
参数可以有多个
参一:表示从第几个索引值开始查找
参二:表示从索引值开始删除几个元素
其他多个参数表示:从索引值开始,删除元素后 添加的几个元素
不删除元素添加的就是插入 也就是当参二为0的时候 -
slice() 截取数组中片段 返回截取数组组成的新数组
参一 表示从第几个索引值开始截取 包含这个索引值对应的元素
参二 表示到第几个索引值结束 不包含这个索引值对应的元素
var arr = [1,2,'wyk','lcj',3,4];
// res 接收 slice返回的截取数组 组成的新数组
var res = arr.slice(2,4);
console.log(res);
- reverse() 颠倒数组顺序 返回颠倒后的数组 原来数组也被颠倒了
var arr2 = [1,2,3,4,5,6];
arr2.reverse();
- sort() 升序 返回排序后的数组 原来数组也进行排序处理
- 1:将数组中每一个数据,转化为字符串类型
- 2:检索第一个字符 然后将该字符转化为ASIIC码值
- 3:用转化后的ASIIC码值 进行大小排列 按照从小到大顺序排列
- 汉字 转义后的大小 一定大于英文字母
var arr = [1,4,2,3,45,32,43];
arr.sort();
console.log(arr);
(此处是个人看法 可以不作数 就是这个排序 感觉是先根据第一个数字排序的 第一个数字大 就不看第二个数字了 不管是两位数字 还是什么 应该是这么理解 但是这
只是我个人的理解)
- toString() 将数组转化为字符串;返回字符串,参数无用
var arr = [1,2,3,4,5,6];
var res = arr.toString();
console.log(res);
- join() 将数组转化为字符串 返回字符串
- 参数:作用代替逗号的字符 默认逗号
var res2 = arr.join('a');
console.log(res2);