js中截取数组的方法
JavaScript中有多种方法可以截取数组,在不同的情境下可以使用不同的方法。本文将为读者介绍 JavaScript 中截取数组的常用方法。
1. slice()方法
slice() 方法返回一个新的数组对象,原数组不会被修改。该方法接受两个参数,分别是开始位置和结束位置。如果不传参数,则默认截取整个数组。
语法如下:
```
array.slice(start, end)
```
示例:
```
//截取数组前三个元素
var arr1 = [1, 2, 3, 4, 5];
var newArr1 = arr1.slice(0, 3);
console.log(newArr1); // [1, 2, 3]
//截取数组最后两个元素
var arr2 = [1, 2, 3, 4, 5];
var newArr2 = arr2.slice(-2);
console.log(newArr2); // [4, 5]
```
2. splice()方法
splice() 方法用于添加或删除数组中的元素,同时返回已删除的元素数组。该方法接受三个参数,分别是开始位置、删除的元素数量以及可选的新增元素。如果不传第三个参数,则只删除不新增。
语法如下:
```
array.splice(start, deleteCount, item1, item2, ...)
```
示例:
```
//删除数组第二个元素
var arr1 = [1, 2, 3, 4, 5];
arr1.splice(1, 1);
console.log(arr1); // [1, 3, 4, 5]
//从数组第 2 个元素开始,删除 2 个元素,并在这个位置新增一个元素 'hello'
var arr2 = [1, 2, 3, 4, 5];
arr2.splice(1, 2, 'hello');
console.log(arr2); // [1, 'hello', 4, 5]
```
3. concat()方法
concat() 方法用于连接两个或多个数组,同时返回新的数组,原数组不会被修改。
语法如下:
```
at(array2, array3, ..., arrayX)
```
示例:
```
var arr1 = [1, 2, 3];
var arr2 = [4, 5];
var newArr = at(arr2);
console.log(newArr); // [1, 2, 3, 4, 5]filter过滤对象数组
```
4. filter()方法
filter() 方法用于过滤数组中的元素,返回由符合条件的元素组成的新数组。该方法接受一个回调函数作为参数,回调函数的参数为数组中的每个元素,返回值为 true 或 false。如果返回值为 true,则该元素会被保留,否则会被过滤掉。
语法如下:
```
array.filter(callback(element, index, array))
```
示例:
```
//过滤出数组中大于等于 3 的元素
var arr1 = [1, 2, 3, 4, 5];
var newArr1 = arr1.filter(function(element) {
return element >= 3;
});
console.log(newArr1); // [3, 4, 5]
//过滤出数组中偶数
var arr2 = [1, 2, 3, 4, 5];
var newArr2 = arr2.filter(function(element) {
return element % 2 === 0;
});
console.log(newArr2); // [2, 4]
```
5. map()方法
map() 方法用于遍历数组中的元素,返回一个由每个元素执行回调函数后返回值组成的新数组。该方法接受一个回调函数作为参数,回调函数的参数为数组中的每个元素。
语法如下:
```
array.map(callback(element, index, array))
```
示例:
```
//将数组中的元素都加倍
var arr1 = [1, 2, 3, 4, 5];
var newArr1 = arr1.map(function(element) {
return element * 2;
});
console.log(newArr1); // [2, 4, 6, 8, 10]
//将数组中的元素都转成大写
var arr2 = ['apple', 'banana', 'orange'];
var newArr2 = arr2.map(function(element) {
UpperCase();
});
console.log(newArr2); // ['APPLE', 'BANANA', 'ORANGE']
```
6. reduce()方法
reduce() 方法用于将数组中的元素归纳为一个值,返回一个新的值。该方法接受一个回调函数作为参数,回调函数的参数为上一次归纳后的值和当前元素,返回值作为下一次归纳的初始值。reduce() 方法有两个参数,第一个参数为回调函数,第二个参数为归纳的初始值。如果初始值不传,则以数组的第一个元素作为初始值。
语法如下:
```
duce(callback(accumulator, currentValue, currentIndex, array), initialValue)
```
示例:
```
//将数组中的元素相加
var arr1 = [1, 2, 3, 4, 5];
var sum1 = duce(function(total, element) {
return total + element;
});
console.log(sum1); // 15
//将数组中的元素连接成字符串
var arr2 = ['apple', 'banana', 'orange'];
var str = duce(function(total, element) {
return total + ' ' + element;
});
console.log(str); // 'apple banana orange'
```
上述这些方法是 JavaScript 中常用的截取数组的方法,每个方法都有其特定的应用场景,需要根据不同的需求选择。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论