常用数组方法(1)
方法 | 属性 | 例子 |
concat() | 合并数组,返回新数组,不会改变原数组 |
var arr=[1,2,3]; var arr1=[4,5,6]; console.log(arr.concat(arr1)); //[1,2,3,4,5,6] |
forEach() |
方法用于调用数组每个元素,并将元素传递给回调函数 *注意*:对于空数组不会执行回调函数 |
var arr=['a','b','c','d']; arr.forEach(function(cv,i,arr){ console.log("cv",cv,"i:",i,"arr:",arr); }) //第一个参数是元素 第二个参数是数组下标 第三个参数是数组
|
indexOf() | 返回某个指定的值在数组中首次出现的位置 如果找到返回下标(索引),找不到返回-1 |
var arr=['a','b','c','a']; var i=arr.indexOf('a'); console.log(i);//0 |
join() |
用于把数组中的元素转换一个字符串 元素通过指定分隔符进行分割,默认是逗号 |
var arr=['西瓜','南瓜','甜瓜'];
var str = arr.join();//没有指定分隔符 默认为逗号分割
var str1 = arr.join('/');//指定分隔符为 /
console.log('没有指定分隔符:',str);
console.log('指定分隔符为/:',str1);
|
lastIndexOf() |
返回某个指定的值在数组中最后一次出现的位置 找到返回元素下标,没找到返回-1 |
var arr=['aa','b','b','cc','dd'];
//0 , 1 , 2 , 3 ,4 下标
var i=arr.lastIndexOf('b'); //查找 b 最后一次出现的位置 返回下标 2
console.log('我是lastIndexOf',i);
var i=arr.indexOf('b'); //查找 b 第一次出现的位置 返回下标 1
console.log('我是indexOf',i);
|
pop() |
删除数组的最后一个元素并发挥删除的元素 改变数组的长度 |
var arr=['a','b','c','d','e'];
console.log(arr.length); //原数组长度为 5
var arr1 = arr.pop();
console.log(arr1); //删除元素 e 并返回该元素
console.log(arr.length);//删除元素后长度为 4
|
push() |
给数组的末尾添加一个或多个元素,返回新的长度 注意: 新元素将添加在数组的末尾!
注意: 此方法改变数组长度
|
var arr=['a','b','c','d','e'];
var arr1= arr.push('哈哈哈');
console.log(arr1);
console.log(arr);
|
reverse()
|
方法用于颠倒数组中元素的顺序并返回新的数组; |
var arr=["a","b","c","d"];
console.log(arr.reverse());
现在返回 "dbca";
|
shift()
|
方法用于把数组的第一个元素从其中删除,并返回第一个元素的值;
注意:此方法改变原数组长度;
|
var arr=["a","b","c","d"];
var str=arr.shift();
console.log("arr:",arr);
console.log("str:",str);
|
unshift()
|
方法可向数组的开头添加一个或更多元素,并返回新数组的长度。
注意:此方法改变原数组长度;
|
var arr1 = ["a","b","c","d","e"];
var arr2 = ["a","b","c","d","e"];
var len1 = arr1.unshift("1");
var len2 = arr2.unshift(1,2,3);
console.log("arr1:",arr1,"len1:",len1);
console.log("arr2:",arr2,"len2:",len2);
|
slice()
|
方法可从已有的数组中返回选定的元素
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
注意:slice() 方法不会改变原始数组
|
array.slice(start, end);
start: 可选。规定从何处开始选取,如果是负数,那么它规定从数组尾部开始算起的位置。
也就是说,-1指最后一个元素,-2指倒数第二个元素,以此类推
end: 可选。规定从何处结束选取。该参数是数组片段结束处的数组下标。
如果没有指定该参数,那么它规定的是数组从start到数组结束的所有元素
如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
|
sort()
|
方法用于对数组的元素进行排序
排序顺序可以是字母或数字,并按升序或降序。
默认排序顺序为按字母升序。
注意:当数字是按字母顺利排列时“30”将排在“4”的前面。
使用数字排序时,你必须通过一个函数作为参数来调用。
注意:这种方法会改变原始数组!
|
var arr1 = ["a", "b", "c", "d", 10];
var arr2=[10,2,"35","11"];
var arr3=[10,2,"35","11","a"];
arr1.sort();
console.log("arr1:",arr1);
arr2.sort();
console.log("arr2:",arr2);
arr3.sort(function(a,b){
return a-b;
})
console.log("arr3:",arr3);
|
splice()
|
方法用于插入、删除或替换数组的元素。
注意:这种方法会改变原始数组!
|
array.splice(index,howmany,item1,...itemX);
index:必需。规定从何处添加/删除元素
该参数是开始插入或者删除的数组元素的下标,必须是数字。
howmany:必需。规定应该删除多少元素。必须是数字也可以是0;
如果未规定这个参数,则删除从index开始时到原数组结尾的所有元素。
item1, ... ,itemX 可选。要添加到数组的新元素
|