内容简介:Since every item in the array is less than 10, the
Array.every()
and Array.some()
are handy JavaScript array methods that can help you test an array against specified criteria. In this post, we’ll quickly learn how to use them.
Array.every()
Array.every
takes a callback function
as an argument. If the function returns true
for each item in the array, Array.every
returns true. Let’s check it out.
function test(el) {
return el < 10;
}
[1, 2, 3, 4, 5, 6].every(test);
// true
Since every item in the array is less than 10, the Array.every
method returns true
.
It’s common to pass an anonymous arrow function directly to the every
method, so let’s do that to see a more familiar syntax:
[1, 2, 3, 4, 5, 6].every(el => el < 10);
// true
Let’s see another example. This time it’ll fail because not every element will pass the test.
[1, 2, 3, 4, 5, 6].every(el => el < 5);
// false
One nice thing that happens here is that, not only does it fail, but it exits early as soon as an element fails the test. That means it won’t even run the test on the last element of the array.
Array.some()
The Array.some
method tests to see if at least one
element of an array passes the test. This time, we’ll start with a failing example:
[1, 2, 3, 4, 5, 6].some(el => el > 10);
// false
Since none of the elements are greater than 10, Array.some
returns false
after testing each element.
Now a scenario that returns true
:
[1, 2, 3, 4, 5, 6].some(el => el > 3);
// true
Not only does it return true
, it returns true as soon as the first element passes the test
. In this cases, since the number 4
passes the test, 5
and 6
aren’t even tested.
Other Functionality
Now that we generally know how the every
and some
methods work, here are some additional functionality you can get out of them:
-
The
Array.everyandArray.somecan take a second argument that will be used asthisin the execution of the callback function. - The callback function can take two additional arguments: the current item’s index and a reference to the array upon which the method was called.
Let’s cram all these additional features into an example:
const obj = { name: 'Daffodil' };
[1, 2, 3, 4, 5, 6].every(function(el, i, arr) {
return el > i && arr[i] === el && this === obj;
}, obj);
// true
So why is this true?
- Each element is greater than its index
-
arr[i](whereiis the current index` is identical to the current element) -
Since we provided a reference to
objas thethisargument,thisis equal toobj
Conclusion
Hopefully you now have a couple additional array methods in your arsenal. Happy coding!
以上所述就是小编给大家介绍的《Learn the JavaScript Array.every() and Array.some() methods》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
虚拟现实:最后的传播
聂有兵 / 中国发展出版社 / 2017-4-1 / 39.00
本书对“虚拟现实”这一诞生自70年代却在今天成为热门话题的概念进行了历史发展式的分析和回顾,认为虚拟现实是当今最重大的社会变革的技术因素之一,对虚拟现实在未来百年可能给人类社会的各个层面带来的影响进行说明,结合多个大众媒介的发展趋势,合理地推演未来虚拟现实在政治、经济、文化等领域的态势,并基于传播学理论框架提出了几个新的观点。对于普通读者,本书可以普及一般的虚拟现实知识;对于传媒行业,本书可以引导......一起来看看 《虚拟现实:最后的传播》 这本书的介绍吧!