内建对象(ES创建)
17.Array 数组
var arr = new Array();
var arr2=【1,2,3】;
var a=arr.length;返回数组长度
var a=arr.push(1,2);在数组末尾添加1和2,并返回新的数组长度
var a=arr.pop();删除数组中最后一个元素,并返回删除的元素
var a=arr.unshift(1,2,3);在数组开头添加元素,并返回新的数组长度
var a=arr.shift();删除数组的第一个元素,并返回删除的元素
forEach()
第一个参数是当前遍历的元素值
第二个参数,就是当前正在遍历元素的索引
第三个参数,就是正在遍历的数组对象
arr.forEach(
function(value,index,obj){
});
slice从已有的数组中返回选定元素
不改变原来的数组元素。
截取的元素包含开始元素,不包含截至元素。
end参数不写,默认从start之后的所有元素。
end也可以是负数。
var newArr=arr.slice(start,end);
splice从已有的数组中删除选定元素
改变原来数组。
删除的元素从start开始,number表示删除元素的个数。
第三个及以后的元素则为传递到原数组的元素,并替换所删除元素的位置。
如果number=0,且有value时,则是在start前面插入元素。
var newArr=arr.splice(start,number,value);
concat()可以连接两个或多个数组
不会对原来的数组产生影响
var arr=arr1.concat(arr2,arr3,"hello");
sort()将数组元素按照unicode编码表排序
会影响原数组
arr.sort();
注意,如果数组中是数字,默认也是会按照unicode编码表排序,当数字超过10时,就会出现排序错误,可以通过回调函数重写sort函数的方法体,如书写数字升序排序:
a,b参数是数组中的两个数,不确定值,但能够确定的是a在数组中的位置一定在b的前面,且sort函数的返回值如果大于0,则数组中的a,b会调换位置,等于或小于0时,a,b位置不改变
arr.sort(
founction(a,b){
return a-b;
});
join()将数组转换成字符串
参数不会对原数组产生影响
参数为数组元素连成串的连接符
var result=arr.join("-");
reverse()将数组元素反转
会对原数组产生影响
arr.reverse();