JavaScript的数组类型方法 让你的代码更强大
2023-12-31 06:11:32
JavaScript的数组类型方法
JavaScript的数组类型方法是指针对数组进行操作的一系列内置方法,这些方法可以帮助你轻松实现对数组的各种操作,如添加、删除、查找和排序元素等。数组类型方法非常丰富,在实际开发中应用广泛。
1. concat
concat方法创建一个新数组,将array与任何数组 或 值连接在一起。如果提供的参数不是数组,则直接将其添加到新数组中。
语法:
array.concat(array1, array2, ..., arrayN, value1, value2, ..., valueN)
返回值:一个新数组,其中包含array中的所有元素,以及来自array1、array2等数组或value1、value2等值的元素。
示例:
const numbers = [1, 2, 3];
const colors = ["red", "green", "blue"];
const newNumbers = numbers.concat(colors);
console.log(newNumbers); // [1, 2, 3, "red", "green", "blue"]
2. pop
pop方法删除数组的最后一个元素,并返回最后一个元素。如果数组为空,则返回undefined。
语法:
array.pop()
返回值:数组的最后一个元素,如果数组为空,则返回undefined。
示例:
const numbers = [1, 2, 3];
const lastNumber = numbers.pop();
console.log(lastNumber); // 3
console.log(numbers); // [1, 2]
3. shift
shift方法删除数组的第一个元素,并返回第一个元素。如果数组为空,则返回undefined。
语法:
array.shift()
返回值:数组的第一个元素,如果数组为空,则返回undefined。
示例:
const numbers = [1, 2, 3];
const firstNumber = numbers.shift();
console.log(firstNumber); // 1
console.log(numbers); // [2, 3]
4. slice
slice方法返回数组的指定部分的新数组。
语法:
array.slice(start, end)
参数:
- start:开始索引(包含)
- end:结束索引(不包含)
返回值:一个新数组,其中包含从start到end-1的元素。
示例:
const numbers = [1, 2, 3, 4, 5];
const newNumbers = numbers.slice(1, 4);
console.log(newNumbers); // [2, 3, 4]
5. splice
splice方法从数组中删除元素,并可插入新元素。
语法:
array.splice(start, deleteCount, ...items)
参数:
- start:开始索引(包含)
- deleteCount:要删除的元素的数量
- items:要插入的新元素(可选)
返回值:一个包含被删除元素的新数组。
示例:
const numbers = [1, 2, 3, 4, 5];
const deletedNumbers = numbers.splice(2, 2);
console.log(deletedNumbers); // [3, 4]
console.log(numbers); // [1, 2, 5]
numbers.splice(2, 0, "a", "b");
console.log(numbers); // [1, 2, "a", "b", 5]
6. push
push方法向数组的末尾添加一个或多个元素,并返回新的数组长度。
语法:
array.push(element1, element2, ..., elementN)
参数:
- element1, element2, ..., elementN:要添加到数组末尾的元素。
返回值:新的数组长度。
示例:
const numbers = [1, 2, 3];
const newLength = numbers.push(4, 5);
console.log(newLength); // 5
console.log(numbers); // [1, 2, 3, 4, 5]
7. unshift
unshift方法向数组的开头添加一个或多个元素,并返回新的数组长度。
语法:
array.unshift(element1, element2, ..., elementN)
参数:
- element1, element2, ..., elementN:要添加到数组开头的元素。
返回值:新的数组长度。
示例:
const numbers = [1, 2, 3];
const newLength = numbers.unshift(0, -1);
console.log(newLength); // 5
console.log(numbers); // [-1, 0, 1, 2, 3]
8. reverse
reverse方法反转数组中的元素顺序,并返回反转后的数组。
语法:
array.reverse()
返回值:反转后的数组。
示例:
const numbers = [1, 2, 3];
const reversedNumbers = numbers.reverse();
console.log(reversedNumbers); // [3, 2, 1]
console.log(numbers); // [3, 2, 1]
9. sort
sort方法对数组中的元素进行排序,并返回排序后的数组。
语法:
array.sort()
返回值:排序后的数组。
示例:
const numbers = [3, 1, 2];
const sortedNumbers = numbers.sort();
console.log(sortedNumbers); // [1, 2, 3]
console.log(numbers); // [1, 2, 3]
10. find
find方法返回数组中满足给定条件的第一个元素,如果数组中没有这样的元素,则返回undefined。
语法:
array.find(callbackFunction)
参数:
- callbackFunction:一个函数,该函数接收数组中的每个元素作为参数,并返回true或false。
返回值:数组中满足给定条件的第一个元素,如果数组中没有这样的元素,则返回undefined。
示例:
const numbers = [1, 2, 3, 4, 5];
const evenNumber = numbers.find((number) => {
return number % 2 === 0;
});
console.log(evenNumber); // 2
11. findIndex
findIndex方法返回数组中满足给定条件的第一个元素的索引,如果数组中没有这样的元素,则返回-1。
语法:
array.findIndex(callbackFunction)
参数:
- callbackFunction:一个函数,该函数接收数组中的每个元素作为参数,并返回true或false。
返回值:数组中满足给定条件的第一个元素的索引,如果数组中没有这样的元素,则返回-1。
示例:
const numbers = [1, 2, 3, 4, 5];
const index = numbers.findIndex((number) => {
return number % 2 === 0;
});
console.log(index); // 1