首页 > 其他分享 >array数组对象以及常用方法

array数组对象以及常用方法

时间:2024-09-10 15:23:20浏览次数:3  
标签:arr console log 元素 常用 let 数组 array

数组(Array)是一种数据结构,用于存储具有相同类型的数据元素的有序集合。

1.定义数组

// 通过字面量方式定义数组: let  数组名 = [值, 值, 值];
let numbers = [1, 2, 3, 4, 5];

// 通过构造函数定义数组: let 数组名 = new Array(值, 值, 值);(new Array() 是固定写法)
let fruits = ['apple', 'banana', 'cherry'];

2.遍历数组(通过循环的方式获取数组中的值)

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

// 或者使用 forEach 方法
numbers.forEach(number => console.log(number));

3.访问数组元素

let numbers = [1, 2, 3, 4, 5];
let firstNumber = numbers[0]; // 1

let fruits = ['apple', 'banana', 'cherry'];
let secondFruit = fruits[1]; // 'banana'

4.更新数组元素

let numbers = [1, 2, 3, 4, 5];
numbers[2] = 10; // 数组现在为 [1, 2, 10, 4, 5]

let fruits = ['apple', 'banana', 'cherry'];
fruits[1] = 'blueberry'; // 数组现在为 ['apple', 'blueberry', 'cherry']

5.常用方法

1)添加元素到数组:
  • push() 向数组末尾添加一个或多个元素,并返回新的数组长度。
let arr = [1, 2, 3];
arr.push(4, 5);
console.log(arr); // 输出: [1, 2, 3, 4, 5]
  • unshift() 向数组开头添加一个或多个元素,并返回新的数组长度。
let arr = [1, 2, 3];
let newLength = arr.unshift(0, 1);
console.log(newLength); // 输出: 5
console.log(arr); // 输出: [0, 1, 1, 2, 3]
2)从数组中删除元素:
  • pop() 删除数组的最后一个元素,并返回该元素。

let arr = [1, 2, 3];
let lastElement = arr.pop();
console.log(lastElement); // 输出: 3
console.log(arr); // 输出: [1, 2]
  • shift() 删除数组的第一个元素,并返回该元素。

let arr = [1, 2, 3];
let firstElement = arr.shift();
console.log(firstElement); // 输出: 1
console.log(arr); // 输出: [2, 3]
3)合并数组:
  • concat() 合并两个或多个数组,不改变现有数组,返回一个新数组。
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = [7, 8, 9];
let newArr = arr1.concat(arr2).concat(arr3);
console.log(newArr); // 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9]
4)转换数组为字符串:
  • join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
let arr = ['apple', 'banana', 'orange'];
let str = arr.join('、 ');
console.log(str); // 输出: "apple、 banana、 orange"
5)查找数组元素:
  • indexOf() 返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
let arr = ['a', 'b', 'c', 'a', 'b', 'c'];
let index = arr.indexOf('a');
console.log(index); // 输出: 0
  • includes() 判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false。这个方法是区分大小写的,并且使用全等比较(===)。
const array = [1, 2, 3, 4, 5];

console.log(array.includes(3)); // 输出 true,因为数组包含元素3
console.log(array.includes(6)); // 输出 false,因为数组不包含元素6

console.log(array.includes(2, 2)); // 输出 false,从索引2开始搜索,不包含元素2
console.log(array.includes(3, -3)); // 输出 true,从倒数第三个索引开始搜索,包含元素3
6)数组切片:
  • slice() 返回一个新的数组对象,这一对象是一个由开始到结束(不包括结束)的浅拷贝的原数组的片段。
let arr = ['apple', 'banana', 'orange', 'kiwi', 'melon'];
let slicedArray = arr.slice(1, 4);
console.log(slicedArray); // 输出: ["banana", "orange", "kiwi"]
7)数组元素的添加和删除:
  • splice() 通过删除现有元素和/或添加新元素来更改一个数组的内容。
let arr = ['apple', 'banana', 'orange', 'pear'];
arr.splice(1, 2, 'kiwi', 'melon'); 
// 1是索引位置,2是元素个数,'kiwi', 'melon'是要替换的新元素
console.log(arr); 
// 最后输出: ["apple", "kiwi", "melon", 'pear']
8)数组排序:
  • sort() 对数组的元素进行排序,并返回排序后的数组。(a-b为升序,b-a为降序)
// 默认排序(字符串排序,按照字符串的Unicode码点进行排序)
let fruits = ['banana', 'apple', 'cherry'];
fruits.sort();
console.log(fruits); // 输出: ["apple", "banana", "cherry"]

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

// 对象数组排序(按对象属性排序)
let users = [
  { name: 'John', age: 30 },
  { name: 'Jane', age: 25 }
];
users.sort((a, b) => a.age - b.age);
console.log(users);
// 输出: [{ name: 'Jane', age: 25 }, { name: 'John', age: 30 }]
9)数组反转:
  • reverse() 颠倒数组中元素的顺序。
let arr = [1, 9, 2, 3, 4, 5];
arr.reverse();
console.log(arr); // 输出: [5, 4, 3, 2, 9, 1]

 10)数组去重:
  • Set() 是一个不包含重复元素的集合,可以通过将数组转换为 Set 来去除重复项,然后再将其转换回数组。(注意首字母大写)
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // 输出: [1, 2, 3, 4, 5]
  •  Map() 是一个键值对的集合,其中每个键只能出现一次。可以通过 Map 来确保每个元素都是唯一的。(注意首字母大写)
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = Array.from(new Map(arr.map(item => [item, item])).values());
console.log(uniqueArr); // 输出: [1, 2, 3, 4, 5]

标签:arr,console,log,元素,常用,let,数组,array
From: https://blog.csdn.net/dlmyrt/article/details/142057377

相关文章

  • C语言程序设计——数组(二)
    一、字符数组1.1字符数组的定义定义方法与数组(一)介绍的类似。用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。1.2字符数组的初始化对字符数组初始化,最容易理解的方式是逐个字符赋给数组中各元素。注:①如果在定义字符数组时不进行初始化,则数组中各......
  • linux常用命令
    一、Linux发行版本常见的Linux发行版及其主要区别:Ubuntu特点:用户友好,适合新手,拥有广泛的社区支持。用途:桌面、服务器和云计算。包管理:APT(Debian包管理系统)CentOS/RockyLinux特点:稳定性高,适合生产环境,基于RedHatEnterpriseLinux(RHEL)。......
  • Leetcode3264. K 次乘运算后的最终数组 I
    EverydayaLeetcode题目来源:3264.K次乘运算后的最终数组I解法1:模拟操作:遍历数组nums,找到其中的最小值x,如果存在多个最小值,选择最前面的一个。将它乘以multiplier。共执行k次操作。代码:/**@lcapp=leetcode.cnid=3264lang=cpp**[3264]K次乘运算......
  • 说文解字的各种版本总结以及常用的说文解字相关学习网站推荐
    《说文解字》‌是中国乃至世界第一部字典,由东汉经学家、文字学家许慎编著,对中国及世界文字学产生了深远的影响。该书原作于汉和帝永元年间,成书于汉安帝建光元年,共十五卷,其中前十四卷为文字解说,第十五卷为叙目,按部首编排,共分540个部首,收字9353个,另有“重文”(即异体字)1163个,共10516......
  • NLTK英文文本分词的常用模块
    目录1.断句模块:2.分词模块:3.去除文本中的除标点符号:4.去除停用词:5.词频提取与词频绘图: 5.1词频的提取5.2画出词频5.3画出出现频率最高的三个词 6.单词搜索1.断句模块:importnltkfromnltk.tokenizeimportsent_tokenize#英文断句模块#要断句的文本parag......
  • Linux中Vim编辑器常用命令大全
    Linux中Vim编辑器常用命令大全在Linux系统中,Vim(ViIMproved)是一个非常强大的文本编辑器,它几乎成为了Linux发行版中的标配编辑器。Vim不仅支持基本的文本编辑功能,还提供了强大的文本处理能力,如语法高亮、编译预览、文件合并等。对于系统管理员和开发者来说,熟练使用Vim可以大......
  • docker 容器的常用命令
      docker容器的常用命令 一、基础概念 1、容器 (1)容器狭义的讲就是盛放东西的器皿,比如锅、碗、瓢、盆,再比如数组、字符串等,Java集合框架中列表、集、散列映射等也是容纳数据的容器。 (2)容器广义上讲是包含容器管理器、实际盛放数据的器皿在内的软件,比如docker就是一款......
  • 2024-09-04:用go语言,给定一个长度为n的数组 happiness,表示每个孩子的幸福值,以及一个正
    2024-09-04:用go语言,给定一个长度为n的数组happiness,表示每个孩子的幸福值,以及一个正整数k,我们需要从这n个孩子中选出k个孩子。在筛选过程中,每轮选择一个孩子时,所有尚未选中的孩子的幸福值都会减少1。需要注意的是,幸福值不能降低到负数,只有在其为正数时才能减少。我们的目标是尽可......
  • 稀疏数组__Java演示
    数据结构是一种数据组织、管理和存储的格式。常见的有数组、栈、队列、链表、树、图、堆、哈希表……当需要记录一盘五子棋对弈的数据时,通常可以采用二维数组来实现,显然直接使用二维数组来存储数据有浪费memory的嫌疑,因为棋盘上很多点位没有落子,这些冗余数据也被记录了。 9x9......
  • 字符数组练习
    下列对C语言字符数组的描述中错误的是()(鲁科安全)A.字符数组可以存放字符串B.字符数组中的字符串可以整体输入、输出C.不可以用关系运算符对字符数组中的字符串进行比较D.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值分析:字符数组不能通过赋值运算符......