// JavaScript中提供了数组新增单元和删除单元的方法
// 在数组的起始和结束位置新增删除单元
// 结束位置
// 新增单元 数组.push(新增数据)
// 可以新增一个单元或者多个单元,如果是多个数据单元,之间使用逗号间隔
// 不用管索引下标的数值是多少,连续的数值是多少
// JavaScript程序自动完成数组单元的新增,而且是连续索引下标
// 删除单元 数组.pop()
// 数组.pop()方法,是不用写参数
// 永远是删除数组中的最后一个单元
// 执行一次,只能删除最后一个单元
// 起始位置
// 新增单元 数组.unshift(新增数据)
// 可以新增一个单元或者多个单元,如果是多个数据单元,之间使用逗号间隔
// 不用管索引下标的数值是多少,连续的数值是多少
// JavaScript程序自动完成数组单元的新增,而且是连续索引下标
// 删除单元 数组.shift()
// 数组.shift()方法,是不用写参数
// 永远是删除数组中的最后一个单元
// 执行一次,只能删除最后一个单元
// 新增单元,程序执行的结果返回值是 : 新增单元之后,数组的length长度数值
// 向数组中新增单元,是操作的效果,函数只有通过return定义的返回值,才是操作结果
// 返回值是数值类型
// 删除单元,程序执行的结果返回值是 : 删除单元中存储的数据数值
var arr = [1,2,3,4,5];
// 在 数组的结束位置,新增单元
// 数组.push()方法,参数是新增单元的数据数值
// 结束位置新增一个数据单元
// push()方法函数,执行效果是,在数组的结束位置,新增一个单元
// 但是这个是函数方法的操作效果,并不是通过return定义的执行结果返回值
// 在 push() 函数方法中 有JavaScript定义好的程序 , return 返回值是 数组新增单元之后,length的属性值,也就是数组新的长度
// res1 中 存储的是 push()函数方法,执行结果返回值
// 是arr数组,新增北京这个数据单元之后,数组新的长度
var res1 = arr.push(‘北京‘);
console.log(res1);
// 结束位置新增多个数据单元,多个单元之间使用逗号间隔
arr.push(‘上海‘ , ‘广州‘ , ‘重庆‘ , ‘天津‘);
// 结束位置删除单元
// 没有参数,每次都只删除最后一个单元
// 删除的最后一个单元,单元中存储的数据是 天津
// pop()函数方法,执行结果返回值就是,天津
// res2 存储的是 pop()函数方法的执行结果返回值
// 删除的最后一个单元的数据
var res2 = arr.pop();
console.log(res2);
// 起始位置新增一个数据单元
// 起始位置新增单元,执行结果,也是新增单元之后,数组新的长度
var res3 = arr.unshift(‘新增1‘);
console.log(res3);
// 起始位置新增多个数据单元,使用逗号间隔
arr.unshift(‘新增2‘,‘新增3‘,‘新增4‘);
// 起始位置新增单元,一般不会使用,容易造成新增顺序的混乱
// 起始位置删除单元
// 没有参数,每次都只删除第一个单元
// shift()删除起始单元,执行效果是删除数组中的第一个单元
// 执行结果,返回值是删除单元中存储的数据数值
var res4 = arr.shift();
console.log(res4);
// console.log(arr);
// 总结
// 新增
// 新增不管是首位还是末位,一次可以新增一个单元或者多个单元,多个单元之间使用逗号间隔
// 新增不管是首位还是末位,执行结果返回值,都是新增单元之后,数组新的长度 length属性值
// 首位新增 数组.unshift()
// 末位新增 数组.push()
// 删除
// 删除不管是首位还是末位,一次只能删除一个数据单元
// 删除不管是首位还是末位,执行结果返回值,都是删除单元中存储的数据数值
// 首位删除 数组.shift()
// 末位删除 数组.pop()