1. 字符串转换为数组
split();
console.log("aabbcc".split(""));
打印:["a", "a", "b", "b", "c", "c"]
2. 数组转换为字符串
join();
console.log(['aa','bb','vv'].join(""));
打印:aabbvv
3. 数组中查找元素
indexOf(); 用来查找元素是否在数组中,如果存在就返回数组的索引,否则就返回-1;
["aa",'bb'].indexOf('bb');
返回 "1"
indexOf()函数总是返回第一个与参数相同的元素的索引;
lastIndexOf()方法,该函数返回相同元素中最后一个元素的索引,如果没有找到,则返回-1
["aa",'bb','cc','aa'].lastIndexOf('aa'); // 3
["aa",'bb','cc','aa'].indexOf('aa'); // 0
4. 数组合并
concat();
console.log(["aa",'bb'].concat(['cc']));
返回 [“aa”,”bb”,”cc”];
5. 从现有数组里截取一个新数组
splice(a,b); 该方法的第一个参数是截取的起始索引,第二个参数是截取的长度
["aa","bbb","vvv","ddd","ee"].splice(2,2)
返回 ["vvv", "ddd"]
6. 从已有的数组中返回选定的元素
slice();
arrs.slice(start,end);
start 必须,规定从何处开始选取,如果是负数,那么规定从数组尾部开始算起的位置,比如:-1是最后一个元素,-2是倒数第二个元素。
end 可选,规定从何处结束选取,该参数是数组片段结束处的数组下标,如果没有指定该参数,那么切分的数组包含从start到数组结束的所有元素.
['aa','bb','cc','dd'].slice(1,2);
返回[“bb”];
7. 从数组最后添加元素
push();
var nums = [1,2,3,4,5];
nums.push(6);
console.log(nums); // [1,2,3,4,5,6];
8. 向数组的开头添加一个或更多元素, 返回新的长度
unshift();
var arrs = [1,2,3,4,5];
console.log(arrs.unshift("aa","bb")); //7
console.log(arrs); // ["aa", "bb", 1, 2, 3, 4, 5]
9. 删除数组末尾的元素 返回被删的元素
pop();
var arrs = [1,2,3,4,5,6];
console.log(arrs.pop()); // 6
console.log(arrs);// 1,2,3,4,5
10. 删除数组的第一个元素
shift(); (记住: shift是删除第一个 返回删除的元素, unshift是添加元素到第一个 返回总长度)
var nums = [9,1,2,3,4,5,6];
console.log(nums.shift()); // 9
console.log(nums);// [1,2,3,4,5,6];
11. 从数组中间位置添加和删除元素
在数组中间插入元素。
var nums = [1,2,3,7,8,9];
nums.splice(3,0,4,5,6);
console.log(nums);// [1,2,3,4,5,6,7,8,9]
在数组中删除元素。
var nums = [1,2,3,100,200,300,400,4,5];
nums.splice(3,4);
console.log(nums);// 1,2,3,4,5
12. 数组排序
reverse();
将数组中元素的顺序进行翻转
var nums = [1,2,3,4,5];
nums.reverse();
console.log(nums);// 5,4,3,2,1
如果是字符串排序,可以使用 sort();
var arrs = [“Da”,”ade”,”cdf”,’bfg’];
arrs.sort();
console.log(arrs);// ["Da", "ade", "bfg", "cdf"]
如果数组元素是数字类型,就有问题了
var nums = [3,1,2,100,4,200];
nums.sort();
console.log(nums);// [1, 100, 2, 200, 3, 4]
sort()方法是按照字典顺序对元素进行排序的,因此他假定元素都是字符串类型。但是对于数字型的我们可以简单写一个函数即可
function compare(num1,num2) {
return num1 – num2;
}
var nums = [3,1,2,100,4,200];
num.sort(compare);
console.log(nums);// 1,2,3,4,100,200
还有一些新的元素
forEach(),every(),some(),reduce(),reduceRight(),map(),filter().是针对标准浏览器做的
IE9+,firefox,chrome操作的,IE8及以下不支持的。
forEach() 接受一个函数作为参数,对数组的每个元素使用该函数
function square(num) {
console.log(num*num);
}
var nums = [1,2,3,4,5,6,7,8,9,10];
console.log(nums.forEach(square));
// 1,4,9,16,25,36,49,64,81,100
every() 接受一个返回值为布尔类型的函数,对数组中每个元素使用该函数,如果返回所有的为true,则true,否则返回false
....不再介绍
摘自网络