常用的数组API

1 . concat() 连接数组, 返回值是一个添加后的数据, 原数组没改变

  (1)  直接添加

 var arr = [10,20,30,40]
   var arr2 = arr.concat(40,50) 
   console.log(arr)  // [10,20,30,40]
   console.log(arr2)  // [10,20,30,40,40,50]

 (2)  添加数组

var arr = [10,20,30,40] 
var arr2 =arr.concat([50,60])
console.log(arr3)  // [10,20,30,40,50,60]

2 . pop():弹出数组中最后一个元素,并返回这个元素

let arr = [1,2,3,4,5,6]
let result = arr.pop()
console.log(arr) // [1, 2, 3, 4, 5]
console.log(result) // 6

3 . join() 将数组所有元素连接成一个字符串并返回这个字符串,不会改变原数组

var arr = [10,20,30,40] 
var arr2 = arr.join('=')
console.log(arr)  // [10,20,30,40]
console.log(arr2) // 10=20=30=40

4 . push():添加一个或多个元素到数组末尾,并返回新的长度

let arr = [1,2,3,4,5,6]
arr.push(7,8)
console.log(arr) // [1, 2, 3, 4, 5, 6, 7, 8]
console.log(arr.length) // 8

5 . reverse() 翻转数组 将数组进行翻转 最后一项变为第一项 倒数第二项变为第二项 以此类推 会改变原数组

var arr = [10,20,30,40] 
arr.reverse()
console.log(arr)  [40,30,20,10]

6 . shift():弹出数组的第一个元素,并返回这个元素

var arr = [10,20,30,40]
var arr2 = arr.shift()
console.log(arr2)  10 
console.log(arr)   [20,30,40]

7 . unshift():在数组开头添加一个或多个元素,并返回新的长度

let arr = [1,2,3,4,5,6] 
arr.unshift(-1,0)
console.log(arr) // [-1, 0, 1, 2, 3, 4, 5, 6]
console.log(arr.length) // 8

8 . slice() 查找数组中选定范围的值 返回值是一个数组 不会改变原来的数组

    该方法有两个参数 slice( start , end )

    第一个参数:start:从那一个下标开始查找 如果为负数则倒着查找

    第二个参数: end : 结束位置    start <= 范围 < end

 (1)从下标 1 开始查找 到 下标 2 (不包含下标2)所以返回的就是 【20】

var arr = [10,20,30,40]
var arr2 = arr.slice(1,2)
console.log(arr2) // [20]
console.log(arr)  // [10,20,30,40]

(2)不写结束位置 会返回原数组

var arr = [10,20,30,40]
var arr2 = arr.slice(0)
console.log(arr2) // [10,20,30,40]
console.log(arr) // [10,20,30,40]

(3)起始位置为负数 会倒着找 下面代码 从 尾数 开始找 结果如下

var arr = [10,20,30,40]
var arr2 = arr.slice(-2)  // 从倒数第2个字符起一直到结束
var arr3 = arr.slice(0,-3)  // 从开始一直到倒数第3个字符的前一个字符 
console.log(arr2) // [30,40]
console.log(arr3) // [10,20]

9 . sort():给数组排序(默认从小到大)

let arr = [1,6,4,3,5,2] 
arr.sort() 
console.log(arr) // [1, 2, 3, 4, 5, 6]

10 . indexOf()两个参数:1 要查找的项, 2查找的起点索引。其中, 从数组的开头(位置 0)开始向后查找 存在返回位置索引,不存在返回-1

var arr = [2, 10, 50, 5, 4]
console.log(arr.indexOf(50)) // 2 
console.log(arr.indexOf(60)) // -1  

11 . forEarm():传入一个函数,把数组的每一项作为函数的参数被调用,不改变原数组

let arr = [1, 2, 3, 4, 5, 6];
arr.forEach((item) => {
    console.log(item) // 依次输出1到6
});

12 . map():传入一个函数,把数组的每一项作为函数的参数被调用,然后用函数每次的返回值组成新的数组并返回,不改变原数组

let arr = [1, 2, 3, 4, 5, 6];
let newArr = arr.map((item) => item*item); // 箭头函数的简写,不用写return
console.log(arr) // [1, 2, 3, 4, 5, 6]
console.log(newArr) // [1, 4, 9, 16, 25, 36]

13 . flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。

       方法最基本的作用就是数组降维

var arr1 = [1, 2, [3, 4,5,[6,7]];
arr3.flat(Infinity);  // [1,2,3,4,5,6,7]

14 . reduce():接受两个参数,函数和初始值,其中函数接受两个参数,那个初始值和数组的每一项,每次用初始值对数组的每一项进行操作并返回这个新的初始值(函数返回),不改变原数组

初始值为0,sum代表了初始值,每次用sum+= item,最后初始值为21并被返回(reduce返回)

let arr = [1, 2, 3, 4, 5, 6];
let result = arr.reduce((sum, item) => sum+=item,0);
console.log(arr) // [1, 2, 3, 4, 5, 6]
console.log(result) // 21

15 . filter():传入一个函数,把数组的每一项作为函数的参数被调用,在函数内部判断符合条件的每一项,把它们组成新的数组并返回,不改变原数组

let arr = [1, 2, 3, 4, 5, 6];
let newArr = arr.filter((item) => item%2 === 0); // 取数组中的偶数
console.log(arr) // [1, 2, 3, 4, 5, 6]
console.log(newArr) // [2, 4, 6]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: JavaScript提供了许多数组API方法来方便地操作数组。其中一些常用的方法包括: 1. filter()方法:该方法创建一个新数组,其中包含满足指定条件的所有元素。可以使用filter()方法来过滤数组中的元素。在给定的代码示例中,使用了一个for循环来过滤出名字中包含"John"的员工,并将它们添加到一个新的数组中。\[1\] 2. forEach()方法:该方法对数组中的每个元素执行提供的回调函数。回调函数接受三个参数:当前元素的值、当前元素的索引和数组本身。forEach()方法没有返回值,它只是对每个元素执行回调函数。在给定的代码示例中,使用forEach()方法遍历数组并打印每个元素的值、索引和数组本身。\[2\] 3. join()方法:该方法将数组的所有元素连接成一个字符串,并返回该字符串。默认情况下,元素之间使用逗号分隔。在给定的代码示例中,使用join()方法将数组中的元素连接成一个字符串,并将结果打印出来。\[3\] 这些是JavaScript中一些常用数组API方法,它们可以帮助我们更方便地操作和处理数组。 #### 引用[.reference_title] - *1* [JavaScript 数组filter方法完整介绍](https://blog.csdn.net/allway2/article/details/124954994)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [JS数组API大全(持续更新)](https://blog.csdn.net/BBBBobo/article/details/121869585)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值