一、创建和初始化数组
1、使用new关键字创建数组(不是最好的方式)
var daysOfWeek = new Array(); // 声明并初始化一个数组
var daysOfWeek = new Array(7); // 创建一个指定长度的数组
var daysOfWeek = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday','Thursday', 'Friday', 'Saturday'); // 直接将数组元素作为参数传递给它的构造器
2、用中括号( [ ] )的形式
var daysOfWeek = [];
var daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
二、添加和删除元素
1、push方法( arr.push() ):把元素添加到数组的末尾,返回数组;
2、unshift方法( arr.unshift() ):把元素插入数组的首位,返回数组;
3、pop方法( arr.pop() ):删除数组里最后一个元素,返回被删除的元素;
4、shift方法( arr.shift() ):删除数组的第一个元素,返回被删除的元素;
5、splice 方法( arr.splice(x1,x2,x3) ):第一个参数,表示想要删除或插入的元素的索引值。第二个参数是删除元素的个数。第三个参数往后,就是要添加到数组里的值。
三、合并数组
concat方法(连接两个或多个数组):arr1.concat(arr2),不会改变现有的数组(arr1,arr2不会改变),返回被连接数组的一个副本。
四、迭代器函数
1、every函数
举例:var isEven = function (x) {
return (x % 2 == 0) ;
};
var numbers = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
numbers.every(isEven); // 返回 false,迭代到 1 结束
2、some函数
举例: numbers.some(isEven); // 返回 true,迭代到 2 结束
3、 forEach 方法
举例: numbers.forEach(function(x){
console.log((x % 2 == 0)); // 打印出 false, true, false, true, false, true, false, true,false, true, false, true, false, true, false
});
4、map方法(返回新数组的遍历方法,map() 不会对空数组进行检测。 map() 不会改变原始数组)
举例: var myMap = numbers.map(isEven); // myMap的值 [false, true, false, true, false, true, false, true,false, true, false, true, false, true, false]
5、 filter 方法(返回的新数组由使函数返回 true 的元素组成)
举例: var evenNumbers = numbers.filter(isEven); // evenNumbers的值 : [2, 4, 6, 8, 10, 12, 14]
6、 reduce 方法(返回一个将被叠加到累加器的值, reduce 方法停止执行后会返回这个累加器)
举例: var s=numbers.reduce(function(previous, current, index){
return previous + current; // s的值为120
});
五、搜索和排序
1、reverse方法:arr.reverse() // 数组内反序
2、sort方法 :
numbers.sort(function(a, b){
return a-b; // 升序
});
3、indexOf 方法(返回与参数匹配的第一个元素的索引)
4、lastIndexOf 方法(返回与参数匹配的最后一个元素的索引)
六、输出数组为字符串
1、 toString方法(把数组里所有元素输出为一个字符串):arr.toString()
2、 join方法 (用一个不同的分隔符(比如 - )把元素隔开):arr.join(‘-’)