JavaScript基本操作数组方法

news/2025/1/16 13:45:02/

1、访问元素:

通过索引访问元素:使用方括号和索引来获取数组中指定位置的元素。

const array = [1, 2, 3];
console.log(array[0]); // 输出: 1

获取数组长度:使用 length 属性获取数组的长度。

const array = [1, 2, 3];
console.log(array.length); // 输出: 3

2、增加元素:

添加元素到数组末尾:使用 push() 方法将元素添加到数组的末尾(会改变原数组)。

const array = [1, 2, 3];
array.push(4);
console.log(array); // 输出: [1, 2, 3, 4]

添加元素到数组开头:使用 unshift() 方法将元素添加到数组的开头(会改变原数组)。

const array = [1, 2, 3];
array.unshift(0);
console.log(array); // 输出: [0, 1, 2, 3]

在指定位置插入元素:使用 splice() 方法在指定索引处插入元素(会改变原数组)。

const array = [1, 2, 3];
array.splice(1, 0, 1.5);
console.log(array); // 输出: [1, 1.5, 2, 3]

3、删除元素:

删除数组末尾的元素:使用 pop() 方法删除数组末尾的元素,并返回删除的元素(会改变原数组)。

const array = [1, 2, 3];
const removedElement = array.pop();
console.log(array); // 输出: [1, 2]
console.log(removedElement); // 输出: 3

删除数组开头的元素:使用 shift() 方法删除数组开头的元素,并返回删除的元素(会改变原数组)。

const array = [1, 2, 3];
const removedElement = array.shift();
console.log(array); // 输出: [2, 3]
console.log(removedElement); // 输出: 1

删除指定位置的元素:使用 splice() 方法删除指定索引处的元素(会改变原数组)。

const array = [1, 2, 3];
array.splice(1, 1);
console.log(array); // 输出: [1, 3]

4、修改元素:

修改指定位置的元素:通过索引和赋值操作修改指定位置的元素(会改变原数组)。

const array = [1, 2, 3];
array[1] = 5;
console.log(array); // 输出: [1, 5, 3]

5、数组遍历:

使用 for 循环遍历数组(不会改变原数组):

const array = [1, 2, 3];
for (let i = 0; i < array.length; i++) {console.log(array[i]);
}

使用 forEach() 方法遍历数组(不会改变原数组):

const array = [1, 2, 3];
array.forEach((item, index, array)=> {console.log(item); // 输出当前元素console.log(index); // 输出当前索引console.log(array); // 输出原始数组
});

6、查找元素:

使用 find() 方法查找第一个满足条件的元素(不会改变原数组):

const array = [1, 2, 3, 4, 5];
const foundElement = array.find((item) => {return item > 3; // 查找大于3的元素
});
console.log(foundElement); // 输出: 4

使用 findIndex() 方法查找第一个满足条件的元素的索引(不会改变原数组):

const array = [1, 2, 3, 4, 5];
const foundIndex = array.findIndex((item) => {return item > 3; // 查找大于3的元素的索引
});
console.log(foundIndex); // 输出: 3

7、数组过滤:

使用 filter() 方法过滤数组找到所有符合条件的元素(不会改变原数组):

const array = [1, 2, 3, 4, 5];
const filteredArray = array.filter((item) => {return item % 2 === 0; // 过滤偶数
});
console.log(filteredArray); // 输出: [2, 4]

8、数组映射:

使用 map() 方法映射数组(不会改变原数组):

const array = [1, 2, 3];
const mappedArray = array.map((item) => {return item * 2; // 每个元素乘以2
});
console.log(mappedArray); // 输出: [2, 4, 6]

9、数组排序:

使用 sort() 方法对数组进行排序(会改变原数组):

const ascendArray = [3, 1, 2];
const descendArray = [3, 1, 2];
// 升序排序
ascendArray.sort((a, b) => a - b);
console.log(ascendArray); // 输出: [1, 2, 3]
// 降序排序
descendArray.sort((a, b) => b - a);
console.log(descendArray); // 输出: [3, 2, 1]

10、数组连接:

使用 concat() 方法将多个数组连接成一个新数组(不会改变原数组):

const array1 = [1, 2];
const array2 = [3, 4];
const newArray = array1.concat(array2);
console.log(newArray); // 输出: [1, 2, 3, 4]

11、数组切片:

使用 slice() 方法从原数组中获取指定范围的元素(不会改变原数组):

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

12、查找元素索引:

使用 indexOf() 方法查找元素在数组中的索引(不会改变原数组):

const array = [1, 2, 3, 2];
console.log(array.indexOf(2)); // 输出: 1
console.log(array.lastIndexOf(2)); // 输出: 3

13、数组反转:

使用 reverse() 方法反转数组元素的顺序(会改变原数组):

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

14、数组检查:

使用 some() 方法检查数组中是否存在满足条件的元素:

const array = [1, 2, 3, 4, 5];
const hasEvenNumber = array.some((item) => {return item % 2 === 0; // 检查是否存在偶数
});
console.log(hasEvenNumber); // 输出: true

使用 every() 方法检查数组中的所有元素是否都满足条件:

const array = [1, 2, 3, 4, 5];
const allGreaterThanZero = array.every((item) => {return item > 0; // 检查是否所有元素都大于0
});
console.log(allGreaterThanZero); // 输出: true

15、数组累计运算:

使用 reduce() 方法对数组进行累计操作:

const array = [1, 2, 3, 4, 5];
const sum = array.reduce((accumulator, currentValue) => {return accumulator + currentValue;
}, 0);
console.log(sum); // 输出: 15


http://www.ppmy.cn/news/949287.html

相关文章

flink on yarn 中的flink-conf.yaml参数

在 Flink on YARN 中,flink-conf.yaml 是 Flink 配置文件,用于配置 Flink 应用程序在 YARN 上的运行。通过修改 flink-conf.yaml 文件中的参数,你可以调整 Flink 集群的行为和性能。以下是一些常见的在 flink-conf.yaml 中设置的参数: yarn.application.name: 指定 Flink 应…

无需注册的ChatGPT来了,直接使用

火爆全网的 ChatGPT 已来 这次不用梯子&#xff0c;无需注册&#xff0c;国内入口 直接使用&#xff0c;极速体验&#xff01;&#xff01;&#xff01; 还可以直接绑定公众号对话 WOW! 未来已来&#xff0c;你不来试试? 大语言模型绝对是一场新的革命 ChatGPT 和千行百业…

ChatGPT大封号,注册功能关闭!亚洲成重灾区,网友喊话:不要登录,不要登录...

Datawhale干货 最新&#xff1a;GPT封号情况&#xff0c;来源&#xff1a;量子位 “不要登录ChatGPT&#xff01;” “暂时远离人工智能和ChatGPT概念板块高位股&#xff01;” 就在这两天&#xff0c;一些关于ChatGPT的疾呼突然在各种社交平台和群聊刷屏了。 而看到这些消息的…

新消息,ChatGPT停止注册、大面积封号?

4 月 2 日&#xff0c;ChatGPT 大面积封号&#xff01;尤其封亚洲地区的号&#xff0c;不少国内用户的号都被封(deactive)了 。 同多位当事人证实&#xff0c;情况属实&#xff0c;而且目前 ChatGPT 停止注册。 搜『V起来助手』公zz号&#xff0c;体验由V起来团队打造的ChatGPT…

chatGPT的对手,Claude注册教程

完美替代chatGPT&#xff01;Claude注册教程及浅浅的测评 注册 slack 访问地址&#xff1a;https://slack.com/ 点击使用电子邮件注册 建议使用Google邮箱进行登录&#xff0c; 当然使用Google邮箱登录需要使用魔法 登录成功后 创建Slack工作区 我的邀请链接 https://join.…

centosAI数据模型

传送&#xff1a;https://ai.centos.chat/ 之前一直公益运营 万万没想到流量比预想的要大很多&#xff0c;API接口的这个Tokens消耗的速度比预想的要快的多。 想持续提供免费服务&#xff0c;目前看只能自己拿真金白银来顶。光靠一点捐助肯定是杯水车薪。 所以有能力的伙伴…

如何申请微软Azure的ChatGPT API,国内商业ChatGPT的apikey最稳定的途径且免费1年使用!!

文章目录 前言一、申请网址二、申请azure的 OpenAI ChatGPT api 服务遇到的问题解答 前言 目前&#xff0c;微软云服务Azure在中国区已经开通了过滤版的ChatGPT服务&#xff0c;国内的创业公司可以快速地申请使用。这一消息为国内的AI创业公司提供了良好的机会&#xff0c;可以…

ChatGPT快速入门

1. &#xff1a;介绍ChatGPT的背景、目的、特点和优势&#xff0c;让读者对ChatGPT有一个初步的了解。 ChatGPT简介 ChatGPT是一种基于自然语言处理技术的智能对话系统&#xff0c;旨在为用户提供更加智能、便捷、高效的交流体验。ChatGPT的背景是人工智能技术的快速发展和智能…