Array.from//Array.of的用法
// Array.from()//Array.of()的用法
// Array.from()用法
// 1.Array from()会将一个类数组或对象,转换成一个真正的数组。这个类数组必须具有length属性
1 var list={ 2 0:"韩信", 3 1:"李白", 4 2:"诸葛亮", 5 3:"赵云", 6 length:4 7 } 8 var arr = Array.from(list) 9 console.log(arr);//输出结果: ["韩信", "李白", "诸葛亮", "赵云"]
// 2.Array.from()可以将一个字符串转换成数组的形式
1 var str = 'chenbin' 2 var arr1 = Array.from(str) 3 console.log(arr1);// 输出结果: ["c", "h", "e", "n", "b", "i", "n"]
// 3.Array.from()可以传入第二个参数,类似与数组的map()方法(Array.from(obj, mapFn, thisArg)的格式相当于 Array.from(obj).map(mapFn, thisArg)),将每个元素进行处理,将处理后的元素放回数组
1 var arr3 = [1,2,3,4,5] 2 var newarr = new Set(arr3) 3 console.log(Array.from(newarr,item=>item+1));//输出结果: [2, 3, 4, 5, 6]
// Array.of()
// 创建一个可变数量参数的新数组,而不考虑参数的类型和数量
// Array.of()和Array构造函数的区别:在于处理整数参数
// Array(7)表示创建了一个长度为7的空数组
// Array.of(7)表示创建了一个数组里面有单个元素7的数组,它的长度为1
1 var arr1 = Array(10) 2 console.log(arr1); // [empty × 10] 是一个长度为10的空数组 3 var arr2 = Array.of(10) 4 console.log(arr2); // [10] 是一个有单个元素10的数组,它的长度为1 5
es6中其他的一些方法:
// 1.find()方法:返回数组中满足要求的第一个值,如果没有就返回undefined.当找到第一个值就会立即停止。
1 var list=[ 2 {name:'apples',dates:2019}, 3 {name:'bananas',dates:2016}, 4 {name:'oranges',dates:2014}, 5 {name:'pears',dates:2018}, 6 ] 7 var li = list.find(fruit => fruit.name==='apples') 8 console.log(li.name); //apples
// 2.findIndex()方法:返回数组中满足要求的值得索引
1 var index = list.findIndex(fruit=>fruit.name==='oranges') 2 console.log(index);//2
// 3.some()判断数组中是否有元素通过函数测试,如果有就返回true,没有就返回false
1 console.log(list.some(fruit=>fruit.dates===2019));//true
// 4.every()判断数组中所有的元素是否都通过函数的测试,返回的是布尔值
1 console.log(list.every(fruit=>fruit.dates===2019));//false