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