1、数组
findIndex() indexOf()
// findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。
function isBigEnough(element) { return element >= 15; } [12, 5, 8, 130, 44].findIndex(isBigEnough); // 3 console.log([12, 5, 8, 130, 44].findIndex(isBigEnough))
// indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。 let a = [2, 9, 7, 8, 9]; a.indexOf(2); // 0 console.log(a.indexOf(2))
2、includes() every()
// includes() 方法用来判断一个数组是否包含一个指定的值,如果是,酌情返回 true或 false。 [1, 2, NaN].includes(NaN); // true // 如果fromIndex 大于等于数组长度 ,则返回 false 。该数组不会被搜索。 // 如果 fromIndex 为负值,计算出的索引将作为开始搜索searchElement的位置。如果计算出的索引小于 0,则整个数组都会被搜索。 // 数组长度是3 // fromIndex 是 -100 // computed index 是 3 + (-100) = -97 var arr = ['a', 'b', 'c']; arr.includes('a', -100); // true arr.includes('b', -100); // true arr.includes('c', -100); // true // every() 方法测试数组的所有元素是否都通过了指定函数的测试。 function isBigEnough(element, index, array) { return (element >= 10); } var passed = [12, 5, 8, 130, 44].every(isBigEnough); // passed is false passed = [12, 54, 18, 130, 44].every(isBigEnough); // passed is true
3、every() some() // every() 方法测试数组的所有元素是否都通过了指定函数的测试。
function isBigEnough(element, index, array) { return (element >= 10); } var passed = [12, 5, 8, 130, 44].every(isBigEnough); // passed is false passed = [12, 54, 18, 130, 44].every(isBigEnough); // passed is true
//some()
方法测试数组中的某些元素是否通过由提供的函数实现的测试。
function isBigEnough(element, index, array) { return (element >= 10); } var passed = [2, 5, 8, 1, 4].some(isBigEnough); // passed is false passed = [12, 5, 8, 1, 4].some(isBigEnough); // passed is true
4、map() filter() find()
// map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。 let numbers = [1, 5, 10, 15]; let doubles = numbers.map((x) => { return x * 2; }); // doubles is now [2, 10, 20, 30] // numbers is still [1, 5, 10, 15] // filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 function isBigEnough(value) { return value >= 10; } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); // filtered is [12, 130, 44] // find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。 function isBigEnough(element) { return element >= 15; } [12, 5, 8, 130, 44].find(isBigEnough); // 130
5
// Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。 // entries() 方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。 // fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。 // keys() 方法返回一个新的Array迭代器,它包含数组中每个索引的键。 // values() 方法返回一个新的 Array Iterator 对象,该对象包含数组每个索引的值。 // reverse() 方法将数组中元素的位置颠倒。 // sort() 方法在适当的位置对数组的元素进行排序,并返回数组。 sort 排序不一定是稳定的。默认排序顺序是根据字符串Unicode码点。 // Array.from() 方法从一个类似数组或可迭代的对象中创建一个新的数组实例。 // reduce() 方法对累加器和数组中的每个元素 (从左到右)应用一个函数,将其减少为单个值。 // Array.isArray() 用于确定传递的值是否是一个 Array。