!! Javascript
数组方法:
1.迭代方法 :
- 检查方法 :观察数组的上下文。
- 转换方法 :从接收器派生一个新的数组。
- 归约方法 :根据接收者的元素计算结果。
- From Loops : 从循环迭代数组。
1.1考试方法
1.1.1 Array.forEach(回调,thisValue?)
遍历数组的每个条目。 它需要一个回调函数,您可以在其中进行编码。 您不能脱离它或从中返回值。
范例:
1.1.2 Array.every(回调,thisValue?)
如果回调对每个元素都返回true,则返回true。 一旦回调返回false,它将停止迭代。
范例:
1.1.3 Array.some(回调,thisValue?)
如果回调函数对至少一个元素返回true,则返回true。 一旦回调返回true,它就会停止迭代。
范例:
1.2。 转换方法
1.2.1 Array.map(callback,thisValue?):在为元素提供新值时进行复制。
这会将所有值映射到一个表达式,并返回数组的修改后的副本,而保留原始内容。
范例:
1.2.2 Array.filter(callback,thisValue?):仅保留一些元素。
这将仅保留符合条件的元素,并返回数组的修改后的副本,而保持原始状态不变。
范例:
1.3。 减少方法
1.3.1 Array.reduce(callback,initialValue?):从一个数组派生一个值
这会将所有元素简化为单个值,而reducer function total
取值和累加器。 要求将累加器设置为起始值,并返回修改后的数组副本,而保留原始格式。
范例:
1.4。 从循环迭代数组
1.4.1对于循环
for loop
是循环遍历数组的基本循环之一。 它需要一个起始索引,然后循环到结束索引。 索引===整数。
范例:
1.4.2 While循环
只要条件为真, while loop
就会循环。 下面的代码使用while循环。 在每次循环迭代中,它都通过.shift()删除数组的第一个元素,并将其记录下来。
范例:
1.4.3 Do-while循环
do-while
循环的工作原理与while loops
类似,但是它将在每次循环迭代之后(而不是之前)检查其条件,并且始终执行第一次迭代。
范例:
2.数组构造方法 :
2.1 Array.isArray(对象)
如果object是一个数组,则返回true。 这是检查元素是否为数组的便捷方法。
范例:
3.数组原型方法:
这些按功能分组:
- 破坏性的 :它们更改了对其调用的数组。
- 非破坏性的 :他们不修改接收者,这样的方法经常返回新的数组
3.1。 破坏性方法
3.1.1 Array.shift()
删除索引为0的元素并返回它。 后续元素的索引递减1。
范例:
3.1.2 Array.unshift(elem1 ?, elem2 ?, ...)
将给定元素添加到数组中。 它返回新的长度。
范例:
3.1.3 Array.pop()
删除数组的最后一个元素并返回它。
范例:
3.1.4 Array.push(elem1 ?, elem2 ?, ...)
将给定的元素添加到数组的末尾。 它返回新的长度。
范例:
3.1.5 Array.splice(startIndex,delete Count ?, elem1 ?, elem2 ?, ...)
从startIndex
开始,删除delete-Count
元素并插入给定的元素。 简单来说,我们将startIndex
位置处的deleteCount元素替换为elem1, elem2
等。 此方法返回已删除的元素。 Start可以为负=(-1)表示最后一个元素,依此类推。
范例:
3.1.6 Array.reverse()
反转数组中元素的顺序,并返回对原始(修改后的)数组的引用。
范例:
3.1.7 Array.fill(新元素,开始索引,结束索引)
Array.fill
将使用从start Index
到end Index
指定的元素添加或替换该元素。 如果未定义start Index
则它将从0开始,如果未定义end index
,则它将更改值直到数组的结尾。
范例:
3.1.8 Array.sort(比较功能?)
它将对数组排序并返回它。 这种排序通过将值转换为字符串来比较值,这意味着数字不是数字排序的,我们可以通过提供可选参数compareFunction()
来解决此问题。
范例:
3.2非破坏性方法
3.2.1 Array.concat(arr1 ?, arr2 ?, ...)
创建一个包含接收方所有元素的新数组,如果参数之一不是数组,则将其作为元素添加到结果中。 因此,如果我们可以简单地说,它将为新数组添加不同的数组元素。
范例:
3.2.2 Array.join(分隔符?)
在将条目转换为字符串之后,使用每个条目之间的分隔符将它们连接起来,这将返回一个字符串。 最适合与字符串和数字数组一起使用。 如果省略了分隔符','
则使用','
。
范例:
3.2.3 Array.slice(startIndex ?, endIndex?)
它将数组元素复制到新数组中,从start Index
,直到并排除end Index
处的元素,这意味着start Index
到endIndex-1
。 如果两个索引中的任何一个为负,则将数组长度添加到其中,因此(-1)指向最后一个元素,依此类推。
范例:
3.2.4 Array.includes()
Array.includes()
检查项目是否在数组中退出。 它接受函数可以比较的数字或字符串。
范例:
3.2.5 Array.indexOf(searchaValue,startIndex?)
从start Index
开始,它将在数组中search Value
。 它返回第一次出现的索引,或者如果找不到任何内容,则返回-1
。 如果start Index
为负,则将数组长度添加到其中;如果缺少,则搜索整个数组。
范例:
3.2.6 Array.lastIndexOf(searchElement,startIndex?)
它将在数组中search Element
,从start Index
,向后。 它返回第一次出现的索引,或者如果找不到则返回-1
。
范例:
4.其他重要的阵列方法:
4.1删除阵列中的重复项
4.1.1 Array.from(new Set(array))
Set
是一个不能有重复条目的对象。 您可以从数组创建新的Set
,然后将其转换回数组。
范例:
4.2在数组中查找元素
4.2.1 Array.find()
Array.find
将以给定条件返回数组中的元素。 例如,如果我们要从数组中获取某些元素并分别处理该元素。
范例:
4.2.2 Array.findIndex()
Array.findIndex
将在给定条件下返回数组中元素的索引。 它与indexOf
方法相同,但唯一的区别是indexOf
仅适用于原始值。 如果希望在object(array, object or function)
找到一个object(array, object or function)
,则需要使用findIndex
方法。
范例:
仅使用Array.slice()和Array.concat()操纵数组。
有这么多的方法,如push
, pop
, shift
, unshift
,和splice
,因为它们更容易为初学者使用,如果我们打开任何书籍或网站,他们使用这些方法来操纵数组。 但是这些方法会对数组进行变异,以确保数组不会变异。 您可以对这五个方法使用slice
和concat
,因为这两个是非破坏性方法,它们不会修改现有数组,它们将返回一个新数组。
1.添加元素
1.1将项目添加到数组的开头。
- 转换项目以将其添加到数组中(如果尚未添加)
- 将数组与
concat
结合在一起
范例:
1.2将项目添加到数组的末尾
我们可以使用称为concat
的方法将元素添加到数组的末尾。
范例:
1.3将项目添加到数组的中间
我们的想法是将元素添加到中间的阵列是您的阵列分成两个部分与slice
然后在这个序列中加入三个阵列一起: first part, items to add, second part
。
范例:
2.移除元件
2.1从正面卸下物品
我们可以使用方法slice
从数组的slice
删除元素。
范例:
2.2从末端取出物品
我们可以使用相同的方法从数组的开头删除元素。 但首先,我们需要传递正确的endIndex
值。 这样您就可以删除最后一项,并可以使用Array.length - 1
作为endIndex
值。
范例:
2.3从中间取出物品
从数组中间删除项目要比从末尾删除项目更为棘手。 这个想法是用slice
复制要保留的部分,然后用concat
将复制的数组连接在一起。
范例:
在Instagram上关注我 @hypnosisss___ 和Twitter @akash_Rajvanshi
查看我其他的生产力工具帖子:
- 完成家庭媒体服务器的安装!!
- 从头开始设置Manjaro Linux!
- 为Front_End_Development设置Visual Studio代码!!
翻译自: https://hackernoon.com/how-to-manipulate-arrays-in-Javascript-ea5ln2ata
!! Javascript