JavaScript中的数组常用方法

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值