Array.of()函数
将一组值,转换成数组
Array.of(1,2,3,4,5,6)//[1,2,3,4,5,6]
Array.from()函数
可以将类似数组的对象或者可遍历的对象转换成真正的数组
哪些是类似数组的对象呢?最常见的就是通过document.getElementByTagName("a");方法得到的结果哦,它就 是一个类似数组的结果
var a=document.getElementByTagName("a");
a instanceof Array; //结果:false,不是数组
a instanceof Object; //结果:true,是对象
接下来用Array.from();
Array.from(a) instanceof Array; //true 是数组
Array.from函数其中一个用处就是将字符串转换成数组
var str="hello";
Array.from(str)//["h","e","l","l","o"]
find()函数;
找出数组中符合条件的第一个元素
let arr = [1,2,3,4,5,6];
arr.find(function(value){
return value > 2;
});
//结果:value=3
如果元素都不符合匿名函数的条件,find( )函数就会返回undefind。
let arr = [1,2,3,4,5,6];
arr.find(function(value){
return value > 7;
});//undefined
findIndex()函数;
返回符合条件的第一个数组成员的位置。
let arr = [7,8,9,10];
arr.findIndex(function(value){
return value > 8;
})
//结果:2
if元素都不符合匿名函数的条件,findIndex( )函数就会返回-1。
fill()函数
用指定的值,填充数组;
var arr=[1,2,3];
arr.fill(4)//[4,4,4]
所有元素都被4填充了,如果不想全部被填充呢?
var arr=[1,2,3];
arr.fill(4,1,3)//[1,4,4]
上面的代码中第2个参数和第3个参数的意思是:从位置1的元素开始填充数字4,截止到位置3之前,
所以是位置1和位置2的元素被数字4填充了,得到的结果:[1,4,4]。
entries()函数
对数组的键值对进行遍历,返回一个遍历器,可以用for..of对其进行遍历(for....of稍后章节会讲到)
var arr=["aa","bb"];
for(let [k,v] of arr.entries()){
console.log(k+v);
}
//0 "aa"
//1 "bb"
keys()函数
对数组的索引键进行遍历,返回一个遍历器
for(let index of ['a', 'b'].keys())
{
console.log(index);
}
//0
//1
values()函数
对数组的元素进行遍历,返回一个遍历器
for(let value of ['a', 'b'].values())
{
console.log(value);
}
//a
//b
数组推导
用简洁的写法,直接通过现有的数组生成新数组
例如:传统方法:
var arr1 = [1,2,3,4];
var arr2 = [];
for(let i=0;i<arr1.length;i++){
//每个元素乘以2后,push到数组arr2
arr2.push(arr1[i]*2);
}
console.log(arr2);
//结果:[2,4,6,8]
数组推导:
var arr1 = [1, 2, 3, 4];
var arr2 = [for(i of arr1) i * 2];
console.log(arr2);
//结果: [ 2, 4, 6, 8 ]