首页 > 编程语言 >JavaScript学习笔记—数组

JavaScript学习笔记—数组

时间:2023-01-22 12:55:31浏览次数:46  
标签:arr 元素 console JavaScript 笔记 Person length 数组

1. 描述

  • 数组也是一种复合数据类型,在数组中可以存储多个不同类型的数据
  • 数组中存储的是有序的数据,数组中的每个数据都有一个唯一的索引,可以通过索引来操作获取数据
  • 数组中存储的数据叫元素

2. 创建数组

通过Array()来创建数组,也可以通过[]来创建数组

3. 向数组中添加元素

  • 语法:数组[索引] = 元素

4. 读取数组中的元素

  • 语法:数组[索引](如果读取了一个不存在的元素,不是报错而是返回undefined)

5. length

  • 获取数组的长度
  • 获取的实际值就是数组的最大索引+1
  • 向数组最后添加元素:数组[数组.length] = 元素
  • length是可以修改的
const arr = new Array();
const arr2 = [1,2,3,4,5];
arr[0] = 10;
arr[1] = 22;
arr[2] = 44;
arr[3] = 88;
arr[4] = 99;
console.log(typeof arr); // object
console.log(arr.length);

arr[arr.length] = 33;
arr[arr.length] = 55;

6. 遍历数组

  • 获取数组中的每个元素
let arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧", "白骨精"];
// 正序遍历
for(let i = 0; i < arr.length; i++){
  console.log(arr[i]);
}
// 倒序遍历
for(let i = arr.length - 1; i >= 0; i--){
  console.log(arr[i]);
}
/*
  定义一个Person类, 类中有两个属性name和age
  创建几个Person对象,将其添加到一个数组中
  遍历数组,并打印未成年人信息
*/
class Person {
  constructor(name, age){
    this.name = name;
	this.age = age;
  }
}
const personArr = [
  new Person("孙悟空", 18);
  new Person("沙和尚", 38);
  new Person("红孩儿", 8);
];
for(let i = 0; i < personArr.length; i++){
  if(personArr[i].age < 18){
    console.log(personArr[i]);
  }
}

7. for-of语句

  • 可以用来遍历可迭代对象
  • 语法:
for(变量 of 可迭代对象) {
  语句...
}
  • 执行流程:
for-of循环体会执行多次,数组中有几个元素就会执行几次

标签:arr,元素,console,JavaScript,笔记,Person,length,数组
From: https://www.cnblogs.com/zibocoder/p/17064367.html

相关文章

  • JavaScript 内存管理及垃圾回收
    一、内存管理JavaScript是一种自动垃圾回收语言,这意味着JavaScript引擎会自动监测和清理无用的内存。JavaScript中的内存管理主要由JavaScript引擎负责,开发人员不......
  • ABB 800XA学习笔记35:AC 800M硬件结构16
    这一片学习笔记我在新浪博客发表过,地址是ABB800XA学习笔记35:A800M硬件16_来自金沙江的小鱼_新浪博客(sina.com.cn)在这里我再记录一遍,以免丢失继续学习,AC800M硬件快学习......
  • ABB 800XA学习笔记34: AC 800M硬件结构15
    这一篇学习笔记我在新浪博客记录过,地址是ABB800XA学习笔记34:AC800M硬件15_来自金沙江的小鱼_新浪博客(sina.com.cn)在这里我也记录一遍,以免丢失继续学习,AC800M硬件也快......
  • 新概念2册L9学习笔记
    L9Acoldwelcome本章词汇和语法介词+时间welcome/crowd/shoutwelcomen.v.欢迎welcomesb/sthTheywarmlywelcomeus;Iwelcomeanysuggestitions......
  • ABB 800XA学习笔记32:AC 800M硬件13
    这一篇学习笔记我在新浪博客记录过,地址是ABB800XA学习笔记32:AC800M硬件13_来自金沙江的小鱼_新浪博客(sina.com.cn)在这里我再记录一次,以免丢失继续学习2.8与AC800M控......
  • ABB 800XA学习笔记31: AC 800M硬件12
    这一篇学习笔记我在新浪博客记录过,地址是ABB800XA学习笔记31:AC800M硬件12_来自金沙江的小鱼_新浪博客(sina.com.cn)在这里也记录一遍,以免丢失了继续学习2.7.8设置IO单......
  • go语言学习笔记【一】
    一、初入GO语言我们先还是看看GO语言的helloworld是怎么写的吧packagemainimport"fmt"funcmain(){fmt.Println("Helloworld!")}第一行:包声明,编写源文件时,必须......
  • Datawhale组队学习——人工智能:一种现代方法(第四版)Task02学习笔记
    第二章智能体智能体智能体是在环境中感知和行动的事物。智能体=架构+程序一个智能体在任何给定的时刻的动作选择可能取决于内置知识和迄今为止观察到的整个感......
  • 学习笔记——拦截器与过滤器的区别;拦截器概述;拦截器中三个方法
    2023-01-21一、拦截器与过滤器的区别1、过滤器(Filter)属于web服务器组件(1)过滤器主要作用:过滤Servlet请求(2)执行时机:两处执行时机(Servlet前、Servlet后)2、拦截器(Intercep......
  • leetcode笔记——328周赛
    1.二维前缀和,二维差分304.二维区域和检索-矩阵不可变-力扣(LeetCode)二维前缀和怎么处理,注意加减的下标 2.2537.统计好子数组的数目-力扣(LeetCode)首先看到子数......