首页 > 代码库 > apply方法别有他用!
apply方法别有他用!
首先是apply()一个很强大的功能——能将一个数组默认转化为参数列表!!!
应用:
1.求出一个数组中的最大值
var arr= [1, 3, 3, 6]; var max =Math.max.apply(null,arr); alert(max); // 6
Math.max()方法接受多个参数,但是不接受数组,所以直接Math.max(arr)是无法达到效果的,由apply()将数组转化成参数列表进行操作。
2.合并数组
①使用concat()方法
var arr1 = [1, 3, 3, 6]; var arr2 = [2, 4, 5, 6]; var arr = arr1.concat(arr2); alert(arr); // [1,3,3,6,2,4,5,6]
concat()方法不会改变原数组,只能返回一个新的数组。
②循环遍历插入
var arr1 = [1, 3, 3, 6]; var arr2 = [2, 4, 5, 6]; var arr2Len = arr2.length; for(var i=0; i<arr2Len; i++){ arr1.push(arr2[i]); } alert(arr1); // [1,3,3,6,2,4,5,6]
③apply()方法
var arr1 = [1, 3, 3, 6]; var arr2 = [2, 4, 5, 6]; var arr = Array.prototype.push.apply(arr1, arr2); alert(arr); //8 alert(arr1); // [1,3,3,6,2,4,5,6]
直接将arr2中的内容插入到arr1中,表达式返回值是数组的长度。
apply方法别有他用!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。