js数组的常用方法

1.push()

在数组末尾添加一个或多个元素,并返回新的长度。

let numbers = [1, 2, 3];
let result = numbers.push(4, 5);
console.log(result); // 输出: 5
console.log(numbers); // 输出: [1, 2, 3, 4, 5]

2.pop()

删除数组最后一个元素,并返回那个元素。

let numbers = [1, 2, 3];
let result = numbers.pop();
console.log(result); // 输出: 3
console.log(numbers); // 输出: [1, 2]

3.shift()

删除数组的第一个元素,并返回那个元素。

let numbers = [1, 2, 3];
let result = numbers.shift();
console.log(result); // 输出: 1
console.log(numbers); // 输出: [2, 3]

4.unshift()

在数组的开始添加一个或多个元素,并返回新的长度。

let numbers = [2, 3];
let result = numbers.unshift(1);
console.log(result); // 输出: 3
console.log(numbers); // 输出: [1, 2, 3]

5. concat()

创建一个新数组,原数组中的元素加上concat中提供的元素。

let arr1 = [1,2,3]
let arr2 = arr1.concat(4,5)
const.log(arr2) // [1,2,3,4,5]

6.join()

将数组中的所有元素转换为一个字符串,可以指定一个字符串来分隔数组中的元素。

let colors = ['red', 'green', 'blue'];
let colorString = colors.join(', ');
console.log(colorString); // 输出: "red, green, blue"

7.slice()

返回数组的一个片段或子数组,可以指定开始和结束的索引。

let numbers = [1, 2, 3, 4, 5];
let slice = numbers.slice(1, 4);
console.log(slice); // 输出: [2, 3, 4]

8.splice()

通过删除、插入和替换来修改数组。

let numbers = [1, 2, 3, 4, 5];
let removed = numbers.splice(2, 2, 'a', 'b'); // 从索引2开始删除2个元素,然后插入'a'和'b'
console.log(numbers); // 输出: [1, 2, 'a', 'b', 5]
console.log(removed); // 输出: [3, 4]

9.reverse()

颠倒数组中元素的顺序。

let numbers = [1, 2, 3];
numbers.reverse();
console.log(numbers); // 输出: [3, 2, 1]

10.sort()

对数组的元素进行排序。

let numbers = [3, 1, 4, 2];
numbers.sort((a, b) => a - b); // 升序排序
console.log(numbers); // 输出: [1, 2, 3, 4]

11.forEach()

为数组的每个元素执行一次提供的函数。

let arr = [1, 2, 3];
arr.forEach(function(element) {
    console.log(element);
});
// 输出:
// 1
// 2
// 3

12.map()

创建一个新数组,其结果是该数组中的每个元素调用一个提供的函数后返回的结果

const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(number => number * 2);
console.log(doubled); // 输出: [2, 4, 6, 8, 10]

13.filter()

创建一个新数组,该数组包含通过提供的函数实现的测试的所有元素。

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

14.reduce()

对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。

arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])

参数:
callback:执行数组中每个值的函数,包含四个参数:
accumulator:累加器,即上一次回调函数执行时的结果。
currentValue:当前数组中正在处理的元素。
index (可选):当前元素在数组中的索引。
array (可选):调用reduce()的数组。
initialValue (可选):作为第一次调用callback的第一个参数。

示例:

// 使用reduce()计算数组中所有数字的总和
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 输出:15
 
// 使用reduce()将数组中的字符串连接成一个字符串
const words = ['Hello', 'World'];
const sentence = words.reduce((accumulator, currentValue) => accumulator + ' ' + currentValue, '');
console.log(sentence); // 输出:'Hello World'
 
// 使用reduce()计算数组中对象的平均值
const objects = [{ value: 1 }, { value: 2 }, { value: 3 }];
const average = objects.reduce((accumulator, currentValue) => accumulator + currentValue.value, 0) / objects.length;
console.log(average); // 输出:2

15.reduceRight()

对数组中的每个元素执行一个由您提供的reducer函数(降序执行),将其结果汇总为单个返回值

arr.reduceRight(callback(accumulator, currentValue, index, array), initialValue)

参数:
callback:执行于每个数组元素的函数,包含四个参数:
accumulator:累加器累计回调的返回值;
currentValue:数组当前元素的值;
index:数组当前元素的索引;
array:调用reduceRight的数组。
initialValue:作为第一次调用callback函数的第一个参数。

示例:

// 使用reduceRight()计算数组元素的总和,假设初始值为0
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduceRight((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 输出:15
 
// 使用reduceRight()将数组的元素转换为字符串并连接它们
const words = ['JavaScript', 'Python', 'C#'];
const sentence = words.reduceRight((accumulator, currentValue) => accumulator + ' ' + currentValue, '');
console.log(sentence); // 输出:"C# Python JavaScript"

16.indexOf()

返回数组中第一个找到的元素索引,如果不存在则返回-1。

let array = [1, 2, 3, 4, 5];
// 查找元素 3 的索引
let index = array.indexOf(3); // 返回 2
// 查找元素 6 的索引,不存在于数组中
let indexNotFound = array.indexOf(6); // 返回 -1

let array1 = [1, 2, 3, 2, 1];
// 从索引 2 开始查找元素 2 的索引
let index = array1.indexOf(2, 2); // 返回 3

17.lastIndexOf()

返回数组中最后一个找到的元素索引,如果不存在则返回-1

// 基本用法
let array = [2, 5, 9, 2];
let index = array.lastIndexOf(2);
console.log(index); // 输出: 3

// 查找不存在的元素
let array = [2, 5, 9];
let index = array.lastIndexOf(7);
console.log(index); // 输出: -1

// 从数组末尾向前搜索
let array = [2, 5, 9, 2];
let index = array.lastIndexOf(2, 2);
console.log(index); // 输出: 0

// 从数组末尾向前搜索,忽略0索引
let array = [2, 5, 9, 2];
let index = array.lastIndexOf(2, -1);
console.log(index); // 输出: 3

// 查找数组中最后一个undefined
let array = [undefined, null, false, undefined];
let index = array.lastIndexOf(undefined);
console.log(index); // 输出: 3

// 查找数组中最后一个null
let array = [undefined, null, false, undefined];
let index = array.lastIndexOf(null);
console.log(index); // 输出: 1

// 查找数组中最后一个0
let array = [0, -1, 10, 0];
let index = array.lastIndexOf(0);
console.log(index); // 输出: 3

18.includes()

判断数组是否包含某个元素,返回布尔值。

let array = [1, 2, 3, 4, 5];
console.log(array.includes(3)); // true
console.log(array.includes(6)); // false

19.find()

返回数组中第一个满足提供的测试函数的元素值。

let array = [1, 2, 3, 4, 5];
let result = array.find(element => element > 3);
console.log(result); // 输出: 4

20.findIndex()

返回数组中第一个满足提供的测试函数的元素索引。

let array1 = [5, 12, 8, 130, 44];
let index = array1.findIndex(element => element > 13);
console.log(index); // 输出: 2

21.every()

测试数组中的所有元素是否通过了指定函数的测试。

// 检查数组中所有元素是否大于10
const numbers = [12, 15, 20, 30, 40];
const allNumbersAreGreaterThan10 = numbers.every(number => number > 10);
console.log(allNumbersAreGreaterThan10); // 输出: false
 
// 使用 thisArg
const objects = [{ number: 12 }, { number: 15 }, { number: 20 }];
const allNumbersAreGreaterThan10WithThisArg = objects.every(function(obj) {
  return this.number > 10;
}, { number: 10 });
console.log(allNumbersAreGreaterThan10WithThisArg); // 输出: false

22.some()

测试数组中是否至少有一个元素通过了指定函数的测试。

let numbers = [1, 2, 3, 4, 5];
let someResult = numbers.some(num => num > 3);
console.log(someResult); // 输出: true

23.isArray()

判断一个对象是否为数组。

var arr = [1, 2, 3];
console.log(Array.isArray(arr));  // 输出:true
  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JS数组常用方法有很多,以下是其中的一些常用方法: 1. Array.push():向数组的末尾添加一个或多个元素,并返回新的数组长度。原数组改变。 2. Array.pop():删除数组的最后一个元素,并返回删除的元素。原数组改变。 3. Array.shift():删除数组的第一个元素,并返回删除的元素。原数组改变。 4. Array.unshift():向数组的开头添加一个或多个元素,并返回新的数组长度。原数组改变。 5. Array.reverse():反转数组的顺序。原数组改变。 6. Array.sort():对数组进行排序。原数组改变。 7. Array.splice():从数组中删除元素,并可以在指定位置插入新的元素。原数组改变。 8. Array.concat():合并两个或多个数组,生成一个新的数组。原数组不变。 9. Array.join():将数组的所有元素连接成一个字符串。原数组不变。 10. Array.indexOf():返回指定元素在数组中的索引,如果不存在则返回-1。 11. Array.slice():从指定位置截取数组的片段并返回新的数组。原数组不变。 12. Array.forEach():对数组的每个元素执行指定的操作。 13. Array.map():对数组的每个元素执行指定的操作,并返回一个新的数组。 14. Array.filter():根据指定的条件过滤数组的元素,并返回一个新的数组。 15. Array.every():检测数组的所有元素是否都满足指定的条件。 16. Array.some():检测数组的是否存在满足指定条件的元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值