- concat()是内置对象的方法,将两个数组中的元素内容合并成一个新的数组且返回值是新数组,不会改变原来的每个数组。
- push() 直接在原数组的最后追加元素,返回值是数组是追加后的长度。
- pop() 从原数组的最后一项删除元素,返回值是删除的元素。
- unshift()从数组的最前面添加元素,返回值是新数组的长度。
- shift() 删除数组中的第一项元素,返回值是删除的元素。
- indexOf()只有一个参数的时候,表示从数组的第一个位置开始查找,找到符合参数要求的索引。一个参数的时候,默认是从左往右开始查找符合参数要求的索引,如果找到,则返回对应的索引值,如果没找到,或是不存在这个值的话,则返回-1。两个参数的时候,表示从第二个参数所示的索引位置开始向后找,如果找到,就返回对应的索引值,如果找不到,则返回-1。
- lastIndexOf() 在数组中查找某个元素的索引位置,如果找到,则返回对应的索引值,如果没找到,则返回-1。
var nums = [100,200,300,400,500,100,200,300,400,500,100,200,300,400,500,100,200,300,400,500];
var index = nums.lastIndexOf(300,10);
console.log(index); // 7
从下表索引为10的位置开始倒着找第一个出现300的下表索引(但下表索引还是从左以0开始)。
- join()将数组中的元素连接成字符串,没有参数的时候,默认是以逗号进行连接。
var str = [1,2,3,4,5];
var nums = str.join();//1,2,3,4,5
var nums = str.join("");//12345
var nums = str.join(" ");//1 2 3 4 5
var nums = str.join("|");//1|2|3|4|5
console.log(typeof nums);//string
- valueOf()
var arr = [10,20,30,40];
console.log(arr);//[10,20,30,40]
console.log(arr.valueOf()); // [10,20,30,40] 数组本身的值
console.log(arr.toString()); // 10,20,30,40 与join()没有参数是一样的
- slice()从当前数组中截取一个新的数组,不影响原来的数组,参数start从0开始,end从1开始。
var nums = [10,20,30,40,50,60];
var result = nums.slice(1,4);//从start开始截取,截取到end结束,end取不到,返回值是截取的数组中的元素组成的新数组,原数组不变
console.log(result);//[20,30,40]
- splice() 删除或替换当前数组的某些项目,参数有start,deleteCount,options(要替换的项目),即开始位置(下标),删除元素的个数,要替换的元素。两个参数的时候,表示截取。三个参数的时候,相当于替换,是将原来的值剪切掉之后,换成新的数据。
var arr = ["abc","mmm","ccc","kkk","ppp","www","true"];
var result = arr.splice(1,3);//从第一个参数所示的位置开始截取,截取第二个参数所示的个数的数组元素,返回值就是截取出来的数据
console.log(arr); //["abc", "ppp", "www", "true"]
console.log(result);//["mmm", "ccc", "kkk"]
var arr = ["abc","mmm","ccc","kkk","ppp","www","true"];
var result = arr.splice(1,3,"hhh",100,200,false,undefined);
console.log(arr);//["abc", "hhh", 100, 200, false, undefined, "ppp", "www", "true"]
console.log(result); // ["mmm", "ccc", "kkk"]返回值就是剪切出来的内容
- reverse()翻转数组
var arr = [100,200,300,400,500,600,700,800,900];
arr= arr.reverse(); // 反转数组,原理和原来的for循环是一样的
console.log(arr);
- sort()排序,是按照字符的ASCII码进行排序列
var nums = [10,20,30,12,102,123,35,69];
nums= nums.sort(function (a,b){
return -(a-b);
});
console.log(nums);//[123, 102, 69, 35, 30, 20, 12, 10]
var nums = [10,20,30,12,102,123,35,69];
nums= nums.sort(function (a,b){
return a-b;
});
console.log(nums);//[10, 12, 20, 30, 35, 69, 102, 123]
sort()从小到大排序比较(看return返回值是大于0还是小于0进行判断排序)
// a-b 如果是大于0的话 b排在前面,也是交换两者的位置
// a-b ==0的话,岀位置不变
// a-b 小于0的话 a排在前面,也是交换两者的位置
var nums = [10,20,30,40,50,60,70,80,90,100];
forEach()遍历数组的每一项
nums.forEach(function(item,index){
console.log(index+"===="+item);
})
- filter()过滤数组