首页 > 编程语言 >【JavaScript】25_数组初步

【JavaScript】25_数组初步

时间:2023-02-23 13:31:32浏览次数:42  
标签:25 arr 元素 console log JavaScript length 数组

1、简介

数组(Array)

  • 数组也是一种复合数据类型,在数组可以存储多个不同类型的数据
  • 数组中存储的是有序的数据,数组中的每个数据都有一个唯一的索引 可以通过索引来操作获取数据
  • 数组中存储的数据叫做元素
  • 索引(index)是一组大于0的整数
  • 创建数组 通过Array()来创建数组,也可以通过[]来创建数组
  • 向数组中添加元素 语法: 数组[索引] = 元素
  • 读取数组中的元素 语法: 数组[索引] - 如果读取了一个不存在的元素,不好报错而是返回undefined
  • length
  • 获取数组的长度
  • 获取的实际值就是数组的最大索引 + 1
  • 向数组最后添加元素: 数组[数组.length] = 元素
  • length是可以修改的
<script>
const obj = {name:'孙悟空',age:18}

const arr = new Array()
const arr2 = [1,2,3,4,5]//数组字面量

arr[0] = 43
arr[1] = 22
arr[2] = 44
arr[3] = 88
arr[4] = 99

// 使用数组时,应该避免非连续数组,因为它性能不好
// arr[100] = 99

// console.log(arr[1])
// console.log(typeof arr) // object
// console.log(arr.length)

arr[arr.length] = 33;
arr[arr.length] = 66//没有用,因为越界

arr.length = 5
console.log(arr)
</script>

2、遍历数组

遍历数组

  • 遍历数组简单理解,就是获取到数组中的每一个元素
<script>
//任何类型的值都可以成为数组中的元素
let arr = [1,'hello',true,null,{name:'孙悟空'},() => {}]

//创建数组时尽量要确保数组中存储的数据的类型是相同类型的
arr = ['孙悟空','猪八戒','沙和尚']
console.log(arr)

arr = ['孙悟空','猪八戒','沙和尚','唐僧','白骨精']
for(let i = 0; i < arr.length-1; 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('沙和尚',25),
new Person('红孩儿',9)
]

for(let i = 0; i < personArr.length; i++){
if(personArr[i].age < 18){
console.log(personArr[i])
}
}
</script>

3、for-of语句

for-of语句可以用来遍历可迭代对象

语法:

for(变量 of 可迭代的对象){

语句...

}

执行流程:

for-of的循环体会执行多次,数组中有几个元素就会执行几次,

每次执行时都会将一个元素赋值给变量

<script>
const arr = ['孙悟空','猪八戒','沙和尚','唐僧']
for(let value of arr){
console.log(value)
}

for(let value of 'hello'){
console.log(value)
}
</script>

标签:25,arr,元素,console,log,JavaScript,length,数组
From: https://blog.51cto.com/wujianrenn/6081145

相关文章

  • 熟悉JavaScript闭包
    熟悉JavaScript闭包闭包(closure)是一个函数以及其捆绑的周边环境状态(lexicalenvironment,词法环境)的引用的组合。简而言之,闭包让开发者可以从内部函数访问外部函数的作用......
  • JavaScript 中的 apply、call、bind
    在JavaScript中,apply、call、bind是三个与函数调用相关的方法,它们都允许你在调用函数时手动设置函数的上下文(即this指向)。1、apply方法:apply方法允许你调用一个函......
  • js 给树形(层级)数组添加层级标识
    树形数据,需要给每层的数据添加层级,如下:consttreeData=[{id:1,name:'a',children:[{id:101,name:'a1',children:null}]},{......
  • Java中的数组长度最大值为什么是 Integer.MAX_VALUE - 8
    Java中的数组长度最大值为什么是Integer.MAX_VALUE-8/* 因为数组容量使用int类型数据进行标识, 所以我们认为数组容量MAX是Integer.MAX_VALUE, 但是在编译器中定义......
  • 代码随想录算法Day17 | 110.平衡二叉树 , 257. 二叉树的所有路径 , 404.左叶子之和
    110.平衡二叉树题目链接:110.平衡二叉树-力扣(LeetCode)题目给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的......
  • 使数组中小于k的元素相邻的最小交换次数
    packagemainimport("bufio""fmt""math""os""sort""strconv""strings")/*描述:给出数字k,请输出所有结果小于k的整数组合到一起的最小......
  • JavaScript中止网络请求
    constcontroller=newAbortController();//1.创建AbortController实例constsignal=controller.signal;//2.创建信号fetch('/some/api',{signal})//3.......
  • 西电oj245 成绩统计 结构体数组使用
    #include<stdio.h>structstudent{//定义一个结构体数组 intnum; charname[11]; floatg1; floatg2; floatg3; floataver;};intmain(){ student......
  • 有序数组的平方(双指针)
    题目:给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解......
  • JavaScript迭代协议解读
    JavaScript迭代协议解读迭代协议分为可迭代协议和迭代器协议。协议指约定俗成的一系列规则。可迭代协议可迭代协议规定了怎么样算是一个可迭代对象:可迭代对象或其原......