- Array.of() :将参数中所有值作为元素形成一个数组。(与new Array()相似)
arr=Array.of(12,55,67,43)
arr1=new Array(12,55,67,43)
console.log(arr,arr1)
Array.of()与new Array()的区别
arr=Array.of(12)//创建一个元素为12的数组
arr1=new Array(12)//创建一个长度为12的空数组
console.log(arr,arr1)
- Array.from() :将类数组对象或可迭代对象转化为数组。
let s1=new Set([12,45,79,00])
let arr=Array.from(s1)//将set集合转为数组
console.log(s1,arr)
let str='atedbdf'
console.log(Array.from(str))//将字符串转换为数组
参数说明:Array.from(arrayLike[, mapFn[, thisArg]])
(1)arrayLike:想要转换的类数组对象或可迭代对象。
(2)mapFn:可选,map 函数,用于对每个元素进行处理,放入数组的是处理后的元素。
(3)thisArg:可选,用于指定 map 函数执行时的 this 对象。
let obj = {
say:function(n){return n*n }
}
let arr = [1, 2, 3, 4]
console.log(Array.from(arr, function(n){return this.say(n)},obj))
- find() :查找数组中符合条件的元素,若有多个符合条件的元素,则返回第一个元素。
var arr=[10,12,203,400,2,3,5,6]
var re=arr.find(function(el){
if(el>18){return true}
})//当参数函数的返回值为true时,说明需要的元素找到了,并打印它
console.log(re)
- findIndex() :查找数组中符合条件的元素索引,若有多个符合条件的元素,则返回第一个元素索引。
var arr=[10,12,203,400,2,3,5,6]
var re=arr.findIndex(function(el){
if(el>18){return true}
})//当参数函数的返回值为true时,说明需要的元素找到了,并打印它的下标
console.log(re)
- fill() :将一定范围索引的数组元素内容填充为单个指定的值。
var arr=[10,12,22,3,5,6]
var re=arr.fill('hi',1,4)//的一个参数为需要填充的值,第二个参数为开始填充的起始值,第三个为填充的结束值,一般这种起始都是左闭右开[1,4)
console.log(re)
- includes() :数组是否包含指定值。
var arr = [10, 12, 22, 3, 5, 6]
var re = arr.includes(22)
console.log(re, arr.includes('see'))
- flat():为多重数组减重
var arr = [10, [123,44,[43,42]],[12,11,[23,4]], 5,[13,4],6]
var re = arr.flat(1)//参数为减少几重,这里1重
var re1 = arr.flat(2)//减少2重
console.log(re)
console.log(re1)