欢迎访问宙启技术站
智能推送

针对数组的常用函数实现及示例

发布时间:2023-06-06 20:12:50

数组是一种常见的数据结构,也是编程中常用的数据类型,具有非常强的灵活性和实用性。在处理数组时,有许多常用的函数可以帮助我们更加高效地完成任务。本文将介绍一些常用的数组函数,同时提供各种实际应用场景下的示例。

1. push()函数

push()函数是JavaScript中经常使用的数组函数之一,它用于向数组的末尾添加元素,并返回更新后的数组长度。 push()函数接受一个或多个参数,从左到右添加到数组中,其中 个参数添加到数组的末尾,第二个参数添加到数组的倒数第二个位置,以此类推。

示例代码:

let arr = [1, 2, 3];
console.log(arr.push(4));    // 4
console.log(arr);            // [1, 2, 3, 4]

let arr2 = ['a', 'b', 'c'];
console.log(arr2.push('d', 'e', 'f'));    // 6
console.log(arr2);                        // ['a', 'b', 'c', 'd', 'e', 'f']

2. pop()函数

pop()函数是JavaScript中另一个常用的数组函数,它用于从数组末尾删除一个元素,并返回被删除的元素值。 pop()函数会改变数组本身,它会把数组的长度减1,并且返回被删除的元素。如果数组为空,则pop()函数会返回undefined值。

示例代码:

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

let arr2 = ['a', 'b'];
console.log(arr2.pop());    // 'b'
console.log(arr2);          // ['a']

3. shift()函数

shift()函数是JavaScript中用于从数组头部删除一个元素的函数。shift()函数会改变数组本身,它会把数组的长度减1,并且返回被删除的元素。如果数组为空,则shift()函数会返回undefined值。

示例代码:

let arr = [1, 2, 3, 4];
console.log(arr.shift());   // 1
console.log(arr);           // [2, 3, 4]

let arr2 = ['a', 'b'];
console.log(arr2.shift());  // 'a'
console.log(arr2);          // ['b']

4. unshift()函数

unshift()函数是JavaScript中另一个常用的数组函数,它用于在数组头部插入一个或多个元素,并返回更新后的数组长度。unshift()函数接受一个或多个参数,从右到左依次插入到数组的头部,其中 个参数插入到数组的 个位置,第二个参数插入到数组的第二个位置,以此类推。

示例代码:

let arr = [1, 2, 3];
console.log(arr.unshift(4));    // 4
console.log(arr);               // [4, 1, 2, 3]

let arr2 = ['a', 'b'];
console.log(arr2.unshift('c', 'd', 'e'));   // 5
console.log(arr2);                          // ['c', 'd', 'e', 'a', 'b']

5. concat()函数

concat()函数是JavaScript中用于连接两个或多个数组的函数,它不会改变原有的数组,而是创建一个新的数组并返回。concat()函数可以接受任意数量的参数,并将它们追加到原有数组中。如果参数是一个数组,则该数组元素将逐个添加到新数组中。

示例代码:

let arr1 = [1, 2];
let arr2 = [3, 4];
let arr3 = [5, 6];

console.log(arr1.concat(arr2, arr3));   // [1, 2, 3, 4, 5, 6]

let arr4 = ['a', 'b'];
console.log(arr1.concat(arr4));         // [1, 2, 'a', 'b']

6. slice()函数

slice()函数是JavaScript中用于从数组中提取一部分元素的函数,它不会修改原有数组,而是返回从原始数组中提取的元素的新数组。slice()函数可以接受两个参数, 个参数指定提取的起始位置,第二个参数指定提取的终止位置,不包含该位置的元素。

示例代码:

let arr = [1, 2, 3, 4, 5];
console.log(arr.slice(1, 3));     // [2, 3]
console.log(arr.slice(2));        // [3, 4, 5]
console.log(arr.slice(-2));       // [4, 5]

let arr2 = ['a', 'b', 'c'];
console.log(arr2.slice(0));       // ['a', 'b', 'c']

7. splice()函数

splice()函数是JavaScript中用于向数组中插入或删除元素的函数,它会修改原有的数组。splice()函数接受三个或多个参数, 个参数指定插入或删除元素的起始位置,第二个参数指定要删除的元素个数,第三个及后续参数指定要插入的元素。

示例代码:

let arr = [1, 2, 3, 4, 5];
arr.splice(3, 0, 6, 7);
console.log(arr);           // [1, 2, 3, 6, 7, 4, 5]

arr.splice(1, 2);
console.log(arr);           // [1, 6, 7, 4, 5]

let arr2 = ['a', 'b', 'c', 'd'];
arr2.splice(2, 1, 'e', 'f');
console.log(arr2);          // ['a', 'b', 'e', 'f', 'd']

8. map()函数

map()函数是JavaScript中用于对数组中的每个元素进行操作的函数。map()函数会对原有数组中的每个元素调用一个函数,并返回由函数返回值组成的新数组。map()函数接受一个回调函数作为参数,以此作为对原数组每个元素的处理方法。

示例代码:

let arr = [1, 2, 3];
let newArr = arr.map(function(x) { return x * x; });
console.log(newArr);   // [1, 4, 9]

let arr2 = ['a', 'b', 'c'];
let newArr2 = arr2.map(function(x) { return x.toUpperCase(); });
console.log(newArr2);  // ['A', 'B', 'C']

9. filter()函数

filter()函数是JavaScript中用于对数组进行筛选的函数。filter()函数会对原有数组中的每个元素调用一个函数,并返回一个新数组,新数组中包含所有函数返回true的元素。filter()函数接受一个回调函数作为参数,以此作为对原数组每个元素进行判断的方法。

示例代码:

let arr = [1, 2, 3, 4, 5];
let newArr = arr.filter(function(x) { return x > 3; });
console.log(newArr);   // [4, 5]

let arr2 = ['a', 'bb', 'ccc', 'dd'];
let newArr2 = arr2.filter(function(x) { return x.length === 2; });
console.log(newArr2);  // ['a', 'dd']

10. reduce()函数

reduce()函数是JavaScript中用于对数组进行累计计算的函数。reduce()函数对数组中的每个元素调用一个回调函数,该回调函数接受两个参数, 个参数是累加器(accumulator),第二个参数是当前元素的值。reduce()函数会从左到右迭代数组元素,不断更新累加器的值,最终返回累加器的结果。

示例代码:

`

let arr = [1, 2, 3, 4, 5];

let sum = arr.reduce(function(total, x