join(separator)
将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符,该方法只接收一个参数:即分隔符。
var arr = ["旋之华","男",18];
console.log(arr.join()); // 旋之华,男,18
console.log(arr.join("-")); // 旋之华-男-18
console.log(arr); // ["旋之华", 男, 18](原数组不变)
push() 添加到末尾和pop()移除末尾
push() 接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度;
pop() 数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项。
var arr = ["张三","李四","王五"];
var count = arr.push("赵六","宋小宝");
console.log(count); // 5
console.log(arr); // ["张三","李四","王五", "赵六","宋小宝"]
var item = arr.pop();
console.log(item); // 宋小宝
console.log(arr); // ["张三","李四","王五", "赵六"]
shift()删除第一项 和 unshift()添加到第一项
shift() 删除原数组第一项,并返回删除元素的值, 如果数组为空则返回undefined;
unshift 将参数添加到原数组开头,并返回数组的长度 。
var arr = ["张三","李四","王五"];
var count = arr.unshift("赵六","宋小宝");
console.log(count); // 5
console.log(arr); // [ "赵六","宋小宝","张三","李四","王五"]
var item = arr.shift();
console.log(item); // 赵六
console.log(arr); // ["宋小宝","张三","李四","王五", "赵六"]
reverse()
反转数组项的顺序
var arr = [1, 3, 5, 7];
console.log(arr.reverse()); //[7, 5, 3, 1]
console.log(arr); //[7, 5, 3, 1](原数组改变)
concat()创建联合的新数组
将参数添加到原数组中。这个方法会先copy一个当前数组,然后将接收到的参数添加到这个copy数组的末尾,最后返回新构建的数组。在没有给 concat()方法传递参数的情况下,它只是复制当前数组并返回。
var arr = [1,3,5,7];
var arrCopy = arr.concat(9,11,13);
console.log(arrCopy); //[1, 3, 5, 7, 9, 11, 13]
console.log(arr); // [1, 3, 5, 7](原数组未被修改)
indexOf()和 lastIndexOf()
indexOf() 接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的开头(位置 0)开始向后查找。
lastIndexOf接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的末尾开始向前查找。
var arr = [2,4,6,8,8,6,4,2];
console.log(arr.indexOf(4)); //2
console.log(arr.lastIndexOf(4)); //5
console.log(arr.indexOf(4,2)); //2
console.log(arr.lastIndexOf(4,4)); //2
console.log(arr.indexOf("4")); //-1
这两个方法都返回要查找的项在数组中的位置,或者在没找到的情况下返回-1。
在比较第一个参数与数组中的每一项时,会使用全等操作符。
forEach()
这个方法只支持IE8以上的浏览器, 所以如果需要兼容IE8,则不要使用forEach, 还是使用for循环来遍历;
forEach()方法需要一个函数作为参数,该函数,由我们创建但是不由我们调用的,称为回调函数。
数组中有几个元素, 函数就会执行几次,每次执行时,浏览器会将遍历到的元素以实参的形式传递进来,我们可以来定义形参,来读取这些内容
浏览器会在回调函数中传递三个参数
第一个参数,就是当前正在遍历的元素
第二个参数,就是当前正在遍历的元素的索引
第三个参数,就是正在遍历的数组
格式
arr.forEach(function(value , index , obj){
console.log(value);
});
注意点:一旦对数组使用 “ + ” 操作,数组将会转换成为一个字符串与其他意外结果
更多方法见:JavaScript 数组方法
http://www.w3school.com.cn/js/js_array_methods.asp