欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS 数组 常用方法

程序员文章站 2022-05-29 08:13:28
一、数组 1、function(value, index, array) {} 【格式:】 function (value, index, array) => { // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组 // ... 自定义函数行为 ......

一、数组

1、function(value, index, array) {}

【格式:】

function (value, index, array) => {
    // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组
    // ... 自定义函数行为
    // return ...;
}

 

2、array.map(function() {})

  返回值:一个新数组。
  简单理解为:此方法用于 根据 自定义执行函数 处理数组中的每个元素,并作为一个新数组 返回,不会改变原来的数组(除非主动修改原数组的值)。

【举例:给数组中的每个元素值加 6,并生成一个新数组】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newarr = arr.map((value, index, array) => {
    // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组
    return array[index] += 6;
});
console.log(newarr);   // 输出 [7, 8, 9, 10, 11]
console.log(arr === newarr);  // 输出 false
console.log(arr);   // 输出 [7, 8, 9, 10, 11]
console.log(newarr);  // 输出 [7, 8, 9, 10, 11]

JS 数组 常用方法

 

 

 

3、array.foreach(function() {})

  返回值:undefined,即没有返回值。
  简单理解为:此方法用于 根据 自定义执行函数 处理数组中的每个元素,返回 undefined(没有返回值),不会改变原来的数组(除非主动修改原数组的值)。
  注:
    与 map 方法的区别在于 没有返回值。

【举例:给数组中的每个元素值加 6,不会生成一个新数组】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newarr = arr.foreach((value, index, array) => {
    // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组
    return array[index] += 6;
});
console.log(newarr);   // 输出 undefined
console.log(arr === newarr);  // 输出 false
console.log(arr);   // 输出 [7, 8, 9, 10, 11]
console.log(newarr);  // 输出 undefined

JS 数组 常用方法

 

 

 

4、array.filter(function() {})

  返回值:返回一个新数组。
  简单理解为:此方法用于 根据 自定义执行函数 处理数组中的每个元素,过滤原数组,并返回一个新数组,不会改变原来的数组(除非主动修改原数组的值)。
  注:
    与 map 方法的区别在于 返回的是一个过滤后的数组。

【举例:过滤数组中 大于 3 的数据,并作为一个新数组】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newarr = arr.filter((value, index, array) => {
    // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组
    return value > 3;
});
console.log(newarr);   // 输出 [4, 5]
console.log(arr === newarr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
console.log(newarr);  // 输出 [4, 5]

JS 数组 常用方法

 

 

 

5、array.every(function() {})

  返回值:一个 布尔值。
  简单理解为:此方法用于 根据 自定义执行函数 处理数组中的每个元素,并返回一个布尔值,不会改变原来的数组(除非主动修改原数组的值)。若返回值为 true,则表示 数组每个元素均满足 function。否则,返回值为 false。
  注:
    与 map 方法的区别在于 其返回的是一个 布尔值。

【举例:比较数组的每个值,若值均大于 3,则返回 true,否则返回 false】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newarr = arr.every((value, index, array) => {
    // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组
    return value > 3;
});
console.log(newarr);   // 输出 false
console.log(arr === newarr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
console.log(newarr);  // 输出 false

JS 数组 常用方法

 

 

 

6、array.some(function() {})

  返回值:一个 布尔值。
  简单理解为:此方法用于 根据 自定义执行函数 处理数组中的每个元素,并返回一个布尔值,不会改变原来的数组(除非主动修改原数组的值)。若返回值为 true,则表示 数组每个元素有部分满足 function。返回值为 false,则表示数组每个元素 均不满足 function。
  注:
    与 map 方法的区别在于 其返回的是一个 布尔值。

【举例:比较数组的每个值,若部分值大于 3,则返回 true,若值全小于 3,则返回 false】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newarr = arr.some((value, index, array) => {
    // value 指 数组当前遍历的值, index 指 数组当前遍历的下标, array 指 当前数组
    return value > 3;
});
console.log(newarr);   // 输出 true
console.log(arr === newarr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
console.log(newarr);  // 输出 true

JS 数组 常用方法

 

 

 

7、array.push(data)

  返回值:当前数组的长度。会改变原数组。
  简单理解为:向数组的末尾添加一个数据,并返回添加后的数组长度。

【举例:向数组末尾添加一个数据,并返回添加后的数组长度】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newarr = arr.push(1);
console.log(newarr);   // 输出 6
console.log(arr === newarr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5, 1]
console.log(newarr);  // 输出 6

JS 数组 常用方法

 

 

 

8、array.pop()

  返回值:当前删除的数据。会改变原数组。
  简单理解为:从数组的末尾删除最后一个数据,并返回删除后的数组数据。

【举例:从数组末尾删除最后一个数据,并返回当前删除的数据】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newarr = arr.pop();
console.log(newarr);   // 输出 5
console.log(arr === newarr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4]
console.log(newarr);  // 输出 5

JS 数组 常用方法

 

 

 

9、array.shift()

  返回值:当前删除的数据。会改变原数组。
  简单理解为:从数组的头部删除第一个数据,并返回删除后的数组数据。

【举例:删除数组头部的第一个元素,并返回该值】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newarr = arr.shift();
console.log(newarr);   // 输出 1
console.log(arr === newarr);  // 输出 false
console.log(arr);   // 输出 [2, 3, 4, 5]
console.log(newarr);  // 输出 1

JS 数组 常用方法

 

 

 

10、array.unshift(data1, data2)

  返回值:当前数组的长度,会改变原数组。
  简单理解为:将一些数据添加到数组的头部。

【举例:将 1, 2, 4 添加到数组的头部】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newarr = arr.unshift(1, 2, 4);
console.log(newarr);   // 输出 8
console.log(arr === newarr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 4, 1, 2, 3, 4, 5]
console.log(newarr);  // 输出 8

JS 数组 常用方法

 

 

 

11、array.concat(array)

  返回值:一个新的数组。不会改变原数组(除非主动修改)。
  简单理解为:两个数组拼接成一个数组。

【举例:两数组拼接,返回一个新数组】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newarr = arr.concat([1, 2, 3, 4, 5]);
console.log(newarr);   // 输出 [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
console.log(arr === newarr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
console.log(newarr);  // 输出 [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

JS 数组 常用方法

 

 

 

12、array.tostring()

  返回值:一个字符串。不会改变原数组(除非主动修改)。
  简单理解为:将当前数组转为字符串输出,不改变原数组。

【举例:将数组转为字符串,不改变原数组】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newarr = arr.tostring();
console.log(newarr);   // 输出 1, 2, 3, 4, 5
console.log(arr === newarr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
console.log(newarr);  // 输出 1, 2, 3, 4, 5

JS 数组 常用方法

 

 

 

13、array.join()

  返回值:一个字符串。不会改变原数组(除非主动修改)。
  简单理解为:将当前数组转为字符串输出,不改变原数组。
  注:
    与 tostring 方法的区别在于,可以自定义数据间连接的符号(默认以逗号分隔)。

【举例:将数组转为字符串,并以 * 分隔】

let arr = [1, 2, 3, 4, 5];
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
let newarr = arr.join('*');
console.log(newarr);   // 输出 1*2*3*4*5
console.log(arr === newarr);  // 输出 false
console.log(arr);   // 输出 [1, 2, 3, 4, 5]
console.log(newarr);  // 输出 1*2*3*4*5

JS 数组 常用方法

 

 

 

14、array.splice(开始位置(必须), 删除个数(必须), 新元素...(可选))

  返回值:一个新数组(删除的元素组成的数组)。会改变原数组。
  简单理解为:对数组进行增、删、改。
    若当前方法参数只有两个必须项,没有新元素,则进行的是删除操作。

【举例:对数组元素进行增删改】

【举例:对数组元素进行增删改】

let arr = [1, 2, 3, 4, 5];
console.log(arr);       // 输出 [1, 2, 3, 4, 5]
// 在数组下标为 2 的地方,新增 2 个元素,未进行删除操作,返回 []
let arr1 = arr.splice(2, 0, 7, 8);
console.log(arr);       // 输出 [1, 2, 7, 8, 3, 4, 5]
console.log(arr1);      // []

// 在数组下标为 2 的地方,删除 3 个元素,进行删除操作,返回删除的数组
let arr2 = arr.splice(2, 3)
console.log(arr);        // 输出 [1, 2, 4, 5]
console.log(arr2);        // 输出 [7, 8, 3]

// 在数组下标为 2 的地方,删除 1 个元素,并新增 2 个元素,返回删除的数组
let arr3 = arr.splice(2, 1, 8, 6);
console.log(arr);        // 输出 [1, 2, 8, 6, 5]
console.log(arr3);        // 输出 [4]

JS 数组 常用方法