数组的无数种方法(三)

371 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情

entries()方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。

Array Iterator 是一个对象,它表示对某个特定 Array 实例对象的特定迭代。Array Iterator 对象没有命名构造函数。相反,Array 迭代器对象是通过调用 Array 实例对象的某些方法来创建的。这个对象可以通过Iterator对象的方法next()去访问,也可以for of 方法去访问。

var array1 = ['a','b', 'c', 'd'];
var iter = array1.entries()
console.log(iter.next()); // done: false, value:[0, 'a']
var array1 = ['a','b', 'c', 'd'];
var iter = array1.entries()
for(let e of iter){
  console.log(e);
}  // [0, 'a'], [1, 'b'],[2, 'c'],[3, 'd']

every()方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。它接收两个参数callback函数和thisArr,返回值:判定回调函数的返回值全部为true时返回true,否则返回false。

callback函数有三个参数: 1.element 当前值 1.index 当前值下标 1.arr 原数组

var array1 = [1, 2, 3, 4];
var all =  array1.every(e=>{
  return e < 20
}) // all = true

var all2 =  array1.every(e=>{
  return e < 2
}) // all2 = false

some()方法测试数组中是不是至少有 1 个元素通过了被提供的函数测试。它返回的是一个 Boolean 类型的值。和every()方法相同的是,它也接收两个参数callback函数和thisArr,返回值:判定回调函数的返回值全部为true时返回true,否则返回false。用法完全一致。

callback函数有三个参数: 1.element 当前值 1.index 当前值下标 1.arr 原数组

var array1 = [1, 2, 3, 4];
var all =  array1.some(e=>{
  return e < 2
}) // all = true

var all2 =  array1.some(e=>{
  return e < 0
}) // all2 = false

find()方法返回数组中满足提供的测试函数的第一个元素的值。否则返回undefined。它接收两个参数callback函数和thisArr。

callback函数有三个参数: 1.element 当前值 1.index 当前值下标 1.arr 原数组 注:find()方法,并不一定会遍历整个数组,它在找到成立的返回值后就会结束查找。

var array1 = [1, 2, 3, 4];
var value =  array1.find(e=>{
  return e < 3
}) // value = 1

findIndex()方法,返回数组中满足提供的测试函数的第一个元素的索引,find()方法返回的是成立时的值,而findIndex()返回的是索引。若没有找到对应元素则返回-1。使用上和find()方法一致。

var array1 = [1, 2, 3, 4];
var value =  array1.findIndex(e=>{
  return e < 3
}) // value = 0