了解JavaScript数组系列XV-数组循环和迭代第XII部分

在最后两篇文章中,我谈到了使用 Array.indexOf()Array.lastIndexOf() 数组方法。您可以在下面查看:

nedyudombat图像

了解JavaScript数组系列XIII-数组循环和迭代第X部分

Nedy Udombat·10月15日·3分钟阅读

#javascript
#webdev
#初学者

了解JavaScript数组系列XIV-数组循环与迭代XI

Nedy Udombat·10月16日·3分钟阅读

#javascript
#webdev
#初学者

Array.indexOf()Array.lastIndexOf() 当要搜索的元素存在于数组中时,两者都返回索引,并且 -1 如果没有。如果我们希望它返回布尔值怎么办? when当我们要搜索的元素存在时返回true,否则返回false。好吧,您很幸运,今天我们将讨论 Array.includes() 方法。

Array.includes()

此方法检查数组中的特定元素,如果找到该元素,则返回true,否则返回false。

它的语法类似于 Array.indexOf(),除了一些区别:

// syntax
arr.includes(element, startIndex);

(元素):这是将在数组中搜索的元素。

(startIndex):这是开始搜索的数组的位置(索引)。如果未提供此值,则默认为 0。如果提供的索引为负,则从以下位置开始搜索 arr.length + (startIndex)

一些例子:

const names = ('soji', 'nedy', 'naza', 'chukwudi', 'lii', 'nedy');

console.log(names.includes('nedy')) // true
console.log(names.includes('nedy', 6)) // false

如果 startIndex 等于或大于数组的长度?

const names = ('soji', 'nedy', 'naza', 'chukwudi', 'lii', 'nedy');

console.log(names.includes('nedy', 6)) // false
console.log(names.includes('nedy', 30)) // false

在这种情况下,不搜索数组。

如果计算出的startIndex小于0会怎样?

const names = ('soji', 'nedy', 'naza', 'chukwudi', 'lii', 'nedy');

console.log(names.includes('nedy', -30)) // true
console.log(names.includes('nedy', -8)) // false

在第一种情况下,计算出的startIndex将为 6 + (-30) 这是 -24 它返回true,但是在第二种情况下,计算出的索引是 6 + (-8) 这是 -2 它返回true。这是因为 Array.includes() 如果计算的startIndex小于或等于 -1 * arr.length(这是 -6 (在这种情况下),将搜索整个数组。在这种情况下,第一种情况 -24 小于 -6 因此将搜索数组,但是在第二种情况下 -2 大于 -6,因此将不会搜索该数组。

如果发生什么情况 Nedy 要么 neDy 被搜索?

const names = ('soji', 'nedy', 'naza', 'chukwudi', 'lii', 'nedy');

console.log(names.includes('Nedy',)) // false
console.log(names.includes('neDy', 3)) // false

原因很简单 Array.includes() 区分大小写。

结论

Array.includes() 当您要检查数组中是否存在元素时,应使用。如果要检查元素在数组中的位置,可以使用 Array.indexOf(),我在这里写过

今天就这些,明天我们将讨论数组迭代中使用的另一组函数。

这是我写的有关Array系列的其他文章的链接:

  • 什么是数组?
  • 创建数组的替代方法。
  • 阵列属性
  • 数组循环与迭代第一部分
  • 数组循环与迭代第七部分 (find())
  • 数组循环与迭代第八部分 (findIndex())

有任何疑问,补充或更正吗?请发表评论。

感谢您的阅读。 ?

资讯来源:由0x资讯编译自DEV,原文:https://dev.to/nedyudombat/understanding-javascript-array-series-xv-array-loops-iteration-part-xii-37dd ,版权归作者所有,未经许可,不得转载
你可能还喜欢