2019.7.27数组api
// 转字符串
// 1.String(arr) : 将数组中每个元素都转化为字符串,再用逗号连接
var provs = ["台湾省","北京市",'湖北省','重庆市','天津市'];
console.log(String(provs));
// 拼接:将其他元素或者另一个数组,拼接到当前数组结尾
// newArr = arr1.concat(value1,value2,arr2....); 将value1,value2,arr2,拼接到arr1的结尾
var arr1 =[1,2,3,4];
var arr2 = [888,999];
arr1.concat(56,78,arr2);
// newArr [1,2,3,4,56,78,888,999]
// 0 1 2 3 4 5 6 7
console.dir(arr1);
console.dir(arr1.concat(56,78,arr2))
arr1 = arr1.concat(56,78,arr2);
console.dir(arr1);
// concat无权修改原数组,只能返回新数组,必须使用变量接受拼接后返回的值
// concat会打散参数中的子数组为单个元素,单个拼接
// 选取 获得原数组中制定位置到结束位置之间的所有元素,组成临时子数组
// arr.slice(stati,endi+1) 选取stati位置开始到endi位置的所有元素,组成临时子数组
// arr[1,2,3,4,56,78,888,999]
var sub = arr1.slice(3,6);//从下标为3的数到下标为6前面的一个数[4,56,78]
console.log(sub);
// 下标参数含头不含尾:当两个参数都是下标时,通常情况下开始下标的元素包含在结果中,结束下标的元素不包含在结果中
// slice无权修改原数组,只是赋值原数组中的元素组成新数组
// 简写:
// 支持负数参数,表示倒数第N个位置 -n ==> .length - n
console.log(arr1.slice(3,-1));//[4,56,78,888]
// 省略第二个参数,表示从指定位置一直截取到结尾
console.log(arr1.slice(5));//[78,888,999]
// 两个参数都省略,表示完整复制一个数组
var arr3 = arr1.slice();
console.log(String(arr1));
console.log(String(arr3));
//截取身份证的生日
function qwe(you){
var youboth = you.slice(6,-4);
return youboth;
}
console.log(qwe([4,2,1,1,8,1,1,9,9,7,1,2,0,9,0,4,3,2]));
// 1.删除 arr.splice(starti,n)删除arr中starti开始的n个元素
var arr = [1,2,3,4,5];
// 0 1 2 3 4
var arr2 = arr.splice(3,5);
// 修改了原数组
// 返回值:被删除的元素组成的临时子数组 假删除
// 支持负数参数 .length - n
console.log(arr);/*1,2,3*/
console.log(arr2);/*4,5*/
//删除arr中的后两个数,然后放在前面拼接
var arr0 = arr.splice(3,2);
// 2.插入 arr.splice(starti,0,value1,value2/arr2...)将value1,value2等插入到arr中starti的位置
// starti表示位置,0表示一个都不删除 ,原位置的值,向后顺移
// 将参数数组的元素单个存储到数组中去