(1)Array.from(aarr,fn,obj)
function fn(dr, sd, d) { /*Array.from 类数组转化为数组*/ console.log(arguments) var arr = Array.from(arguments); console.log(arr); var arr1 = [].slice.call(arguments); console.log(arr1); var a = [...arguments]//=========================扩展运算符也可将数组住转化为非数组 console.log(a) /*Array.from接受第二个参数(对数组中的每个元素进行操作),第三个参数是用来绑定this的指向*/ var arr3 = Array.from(arguments, function (i) { return i * 7 }) console.log(arr3) } fn(1, 2, 2);
(2) /*Array.of() 将一组值转化为数组*///可用此方法创建一个数组!(function () { console.log(Array.of(21)); var result = [1, 2, 3, 434, 56].find(function (n) { return n < 0; }) console.log(result) })()
(3) find() findIndex()
!function () { /*find() 返回数组中第一个满足条件的元素 findIndex() 返回第一个满足条件元素的下标*/ //====================================================这俩种方法都可以失败而NaN 但是indexof却不行 let arr= Array.of(0,1,2,3,4,5,6,7,8,9); let arr1=arr.find(function (v,k,arr) { /*回调函数有三个参数(当前值,当前下标,该数组)*/ //对数组中的元素进行遍历// console.log(v,k,arr); return v>2; }) console.log(arr1) //3 console.log(arr.findIndex(function (v,k,arr) { // console.log(v) return v>4 //5 })) }()
(4)fill()对数组进行填充 可用于对数组的初始化 !(function () { /*对数组进行填充*/ console.log(['s'].fill(2))//会抹除原数组 console.log(new Array(3)) //[undefined × 3] console.log(new Array(3,2)) //[3, 2]; console.log([1,2,3,4,544].fill('ss',0,4))//对数组用‘ss'进行填充 })()
(5)includes()检测数组中是否有某个元素 返回值为布尔值 !(function () {// includes() 查找数组中是是否含有某个元素 ==此方法属于es7 但是babel转换器已经支持// 与字符串 /*参数1:要查找的元素 * 参数2:从某位置开始查找,若为负数则倒着选取位置向后查找*/ console.log([1,1,2,NaN].includes(NaN)); //true 返回值是布尔值 对NaN识别 console.log([1,1,2,NaN,2].includes(NaN,-3)); //false console.log([1,2,3,4,NaN].indexOf(NaN)); //-1 不对NaN识别 })()