探索JavaScript 数组的隐藏潜力
正如一些人所期望的那样,.every()只是在给定数组的每个元素上运行提供的函数,这里的命名可能会产生误导。相反,.every()确实在每个元素上运行一个函数,但只是为了检查它们是否遵循了我们提供的准则,并最终返回一个合法的布尔值。检查函数提供了参数的标准集合。 ![]() .copyWithin() 对于某些人来说,在单个数组的边界内复制数据可能会有点复杂和无意义。但是,由于它优越的性能(特别是对它的对手TypedArrays来说), 这个方法提供了一种快速移动数组元素的好方法! 在这里,你可以传入1到3个参数: 复制的数据将被粘贴的目标索引。由于 .copyWithin()不会改变源数组的长度,因此,源数组会被替换,旧的数据会被移除。 开始索引,标记要复制的数据的开头(默认为0,数组的起始索引) 结束索引,标记要复制的数据的末尾(不包括提供的索引)(默认为.length,即给定数组的末尾) ![]() .sort() .sort()是执行其名称所说明的操作的方法之一。在本例中,它只是对数组进行排序,你可以为它提供一个比较函数,也可以不提供。默认情况下,所有的值都会被转换成字符串,并按照UTF-16编码进行升序排序,也就是说数字从小到大,字符串按照字母表顺序。你也可以提供一个接受两个元素作为独立参数进行比较的函数。这个比较函数会返回一个数字,它将被用于以一个给定的方式对提供的值进行排序。 如果函数返回的数小于0,则作为第一个参数提供的值优先; 如果函数返回的数字等于0,则值将保持不变(规范并没有真正保证); 如果函数返回的数大于0,则作为第二个参数提供的值优先; ![]() .some() .some()是一个类似于.every()的方法。它检查源数组中的元素是否满足某些规则(以检查函数的形式提供),并在最后返回一个布尔值。所不同的是, .some()只需要一个元素满足测试,就返回一个正值,不像.every()那样要求每个元素都满足测试。它可以帮助你,例如检查是否至少有一个值带有给定的属性。提供的测试函数接收一个标准参数集合(元素、索引和源数组)。 ![]() 迭代 (编辑:惠州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |