1: 伪数组转换成真数组Array.from()方法
在我们的编程中,伪数组还是比较常见的;他们虽然也是一种数组但是用不了真数组的内置方法,但是在ES6中有一种Array.from()他可以将伪数组转换成真的数组;
例如arguments;
function fun() {
console.log(arguments);
console.log(Array.from(arguments));
var arr = Array.from(arguments);
var sum = 0;
arr.forEach(function(ele) {
sum += ele;
})
console.log(sum);
}
fun(1, 2, 3, 4, 5, 6, 7, 8, 9);
通过Array.from()转换成了真数组,可以使用数组的内置方法;
2: arr.find()方法
find用来从数组中查找指定的元素值,使用方式类似forEach(),可以在内部使用return true,用来结束方法,同时结束时的ele会被方法返回;
例如我们要在一个数组里面查找‘3’;
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let result = arr.find(function(ele, i) {
console.log(ele, i);
if (ele === 3) {
return true;
}
});
console.log(result);
如果查找到了这个值则返回该值,查找就会停止,如果未找到这个值,就会返回一个undefined;
3: arr.findIndex()方法
他是会查找你想要的某一个值,如果查到了遍历就会停止,返回该值的索引,如果没查到就会返回-1;
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let result = arr.findIndex(function(ele, i) {
console.log(ele, i);
if (ele === 3) {
return true;
}
});
console.log(result);
他的用法跟find()一样;只不过一个返回的是具体的值,一个返回的是索引值;
3:includes()
includes()是判断一个数组里面是否包含我想要的值,如果有就返回true,如果没有就返回false;
它里面有两个参数,如果参数是一个,就代表整个数组里面有没有包含,如果参数为了,第一个参数是从第几位索引,第二个是想要检测的数值;
let arr = [1, 4, 3, 9];
console.log(arr.includes(4)); // true
console.log(arr.includes(4, 2)); // false, 从2的位置开始查,所以没有找到4
console.log(arr.includes(5)); // false