数组属性方法及说明

2 篇文章 0 订阅
2 篇文章 0 订阅

在JavaScript中,数组不仅仅是一系列元素的列表,它还具有许多内置的属性和方法,这些属性和方法使处理数组变得非常方便。以下是一些主要的数组属性和方法,以及它们的使用示例:

push(item1, item2, …)

在数组末尾添加一个或多个元素。

   arr.push(4, 5); // arr 现在是 [1, 2, 3, 4, 5]

pop()

移除并返回数组的最后一个元素。

   let lastItem = arr.pop(); // arr 现在是 [1, 2, 3, 4]

shift()

在数组末尾添加一个或多个元素。

   let firstItem = arr.shift(); // arr 现在是 [2, 3, 4]

unshift(item1, item2, …)

在数组开头添加一个或多个元素。

   arr.unshift(0, 1); // arr 现在是 [0, 1, 2, 3, 4]

concat(item1, item2, …)

创建一个新的数组,包含现有数组的元素和/或新元素。

   let newCombined = arr.concat([5, 6]); // newCombined 是 [0, 1, 2, 3, 4, 5, 6]

slice(start, end)

创建数组的一个浅拷贝,从 start 到 end(不包括 end)。

   let sliceArr = arr.slice(1, 3); // sliceArr 是 [1, 2]

indexOf(searchElement, fromIndex)

查找元素的索引,如果不存在则返回 -1。

   let index = arr.indexOf('b'); // 输出 2

toString()

把数组转换为逗号分隔的字符串。

    let str = arr.toString(); // 输出 "0,a,b,3,4"

join(separator)

把数组元素合并成一个字符串,可选地用 separator 分隔。

    let joined = arr.join('-'); // 输出 "0-a-b-3-4"

reverse()

反转数组元素的顺序。

    arr.reverse(); // arr 现在是 [4, 3, 'b', 'a', 0]

sort(compareFn)

对数组元素进行排序。可选地提供 compareFn 作为比较函数。

    arr.sort(); // 如果元素是字符串,arr 现在是 ["0", "3", "4", "a", "b"]

默认排序(升序)

	let numbers = [5, 3, 8, 1, 9];
	numbers.sort(); // [1, 3, 5, 8, 9]

自定义排序函数(降序)

	let numbers = [5, 3, 8, 1, 9];
	numbers.sort(function(a, b) {
	return b - a; // 如果返回值大于0,b排在a前面,反之a排在b前面
	}); // [9, 8, 5, 3, 1]

复杂排序

	let objects = [{name: 'John', age: 30}, {name: 'Jane', age: 25}];
	objects.sort(function(a, b) {
	return a.age - b.age; // 按年龄升序排序
	});
	// [{name: 'Jane', age: 25}, {name: 'John', age: 30}]

forEach(callback, thisArg)

对数组中的每个元素执行 callback 函数。

    arr.forEach((item, index) => console.log(index, item));

map(callback, thisArg)

创建一个新的数组,其中的元素是原数组元素经过 callback 处理的结果。

    let mapped = arr.map(item => item * 2); // mapped 是 [8, 6, 2, 'aa', 'bb']

filter(callback, thisArg)

创建一个新的数组,其中的元素是原数组元素经过 callback 处理的结果。

    let filtered = arr.filter(item => typeof item === 'number');

reduce(callback, initialValue)

把数组元素减少到一个单一的值,通过 callback 函数。

    let sum = arr.reduce((total, current) => total + current, 0);

reduceRight(callback, initialValue)

类似于 reduce(),但从数组的末尾开始。

    let reverseSum = arr.reduceRight((total, current) => total + current, 0);

find(callback, thisArg)

查找第一个满足 callback 的元素。

    let found = arr.find(item => item > 2); // 找到第一个大于2的元素

findIndex(callback, thisArg)

查找第一个满足 callback 的元素的索引。

    let index = arr.findIndex(item => item > 2); // 输出 2
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值