ES6为数组提供了许多新的操作方法,以下是一些常用的方法及其特性:
1、Array.from(): 从类似数组或可迭代对象中创建一个新的数组实例。可以接收一个可迭代对象或类数组对象,还可以传递一个映射函数作为第二个参数。
2、concat(): 将两个或多个数组合并为一个新数组。原数组不会被修改。可以接收任意数量的参数,每个参数可以是一个数组或者是一个元素值。
3、map(): 创建一个新数组,其结果是该数组中每个元素调用一次提供的函数后的返回值。map()会遍历原数组中的每个元素,并将它们依次传递给回调函数进行处理。
4、filter(): 创建一个新数组,其中包含通过测试函数的所有元素。filter()会遍历原数组中的每个元素,并将它们依次传递给回调函数进行处理。如果回调函数返回 true,则将该元素添加到新数组中。
5、reduce(): 将数组中的所有元素累加到一个单独的值中。该方法会遍历数组中的每个元素,然后将它们依次传递给回调函数进行处理,返回一个累加的结果。除了回调函数外,还可以传递一个初始值作为第二个参数。
6、forEach(): 遍历数组中的每个元素,为每个元素执行提供的函数。该方法不返回任何值,仅仅是对每个元素进行了操作。如果需要返回结果,应该使用map()或reduce()。
7、find(): 返回数组中通过测试的第一个元素的值,如果没有符合条件的元素则返回undefined。该方法会遍历数组中的每个元素,并将它们依次传递给回调函数进行处理。当回调函数返回true时,该元素的值就会被返回。
8、findIndex(): 返回数组中通过测试的第一个元素的索引,如果没有符合条件的元素则返回-1。该方法会遍历数组中的每个元素,并将它们依次传递给回调函数进行处理。当回调函数返回true时,该元素的索引就会被返回。
9、some(): 检测数组中是否至少有一个元素通过指定函数的测试。该方法会遍历数组中的每个元素,并将它们依次传递给回调函数进行处理。如果任何一个元素
10、Array.of(): 根据传入的参数创建一个新数组实例,参数个数不限。与Array()的不同之处在于,Array.of()会保留参数中的所有值,而Array()会根据参数数量和类型不同而产生不同的行为。
更多前端面试题请看:
存图扫: