Array.every() 测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。
function isBigEnough(element, index, array) {
return element >= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough); // false
[12, 54, 18, 130, 44].every(isBigEnough); // true
Array.findIndex() 返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。
const isLargeNumber = (element) => element > 13;
console.log(array1.findIndex(isLargeNumber));
// output: 3
Array.map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
const array1 = [1, 4, 9, 16];
// pass a function to map
const map1 = array1.map(x => x * 2);
console.log(map1);
// expected output: Array [2, 8, 18, 32]
Array.some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。
const array = [1, 2, 3, 4, 5];
// checks whether an element is even
const even = (element) => element % 2 === 0;
console.log(array.some(even));
// expected output: true
Array.filter() 数据过滤,根据方法返回的布尔值 true 来收集数据
allChannels=[{id:25},{id:43},{id:5}]
userChannels=[{id:25},{id:4},{id:7}]
this.allChannels.filter(channel=>{ // [{ {id:25}}]
return this.userChannels.find(userChannel =>{
return userChannel.id ===channel.id
})
})