(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识别
})()