二维数组的 length 便是是多少

lxf2023-12-15 15:20:01

掌握二维数组
●二维数组便是一组数据库的结合,用中括号 []表明
●二维数组也是一种基本数据类型,归属于复杂数据类型Array
●二维数组里边的数据信息排序是依据一定次序排列的,又叫规范有序数据集合
●二维数组里边所有信息的排序都是根据编号开展排列
○大家管 "编号" 称为 检索 或是 字符
○检索: 从0逐渐开始, 先后 1
●在 [] 里边存放着各种各样数据信息,根据次序先后安排好

二维数组的特征
●数组定义时不用特定基本数据类型
●数组定义的时候可以不用特定数组长度
●二维数组能够存放一切基本数据类型的信息

创建一个二维数组

字面量创建一个二维数组
●直接用 [] 的形式创建一个二维数组

// 创建一个空数组
var arr1 = []
console.log(arr1);
// 创建一个有视频的二维数组
var arr2 = [1, 2, 3]
console.log(arr2);

内嵌对象创建数组
●应用 js 的内嵌对象 Array 创建一个二维数组

// 内嵌对象创建数组
var arr = new Array()
console.log(arr)

// 表明创建一个长度 10 的二维数组
// 每一个部位都采用 empty 添充
var arr2 = new Array(10)
console.log(arr2)

// 这时创建了一个二维数组, 内有三个数据信息, 分别为 10 20 和 30
// 这时的 10 没有在表明数组的长度, 反而是二维数组里的第一个数据信息
var arr3 = new Array(10, 20, 30)
console.log(arr3)

二维数组的 length特性
●length: 长度的意思
●length 便是表明数组的长度,二维数组里边一共有多少个组员,length 便是是多少
●length的功效有读写能力作用
○读
■功效:获得过的就是这个数组的长度, 其实就是二维数组内一共有多少个数据信息
■词法:数组名.length
○写
■功效:设定该数组的长度
●设定的数字和初始长短一样, 等同于未设置
●设定的数据比初始长短大, 多出的部位, 用 empty 补足
●设定的数据比初始长短小, 从后逐渐删掉
■词法:数组名.length = 数据

// 二维数组的 length 特性
var arr = [100, 200, 300, 400, 500]

// length 获得
console.log(arr.length)

// length 设定
// 和原来长短一样, 等同于未设置
arr.length = 5
console.log(arr)

// 比原来长短大, 用 empty 补足
arr.length = 100
console.log(arr)

// 比原来长短小, 从后逐渐删除数据
arr.length = 3
console.log(arr)

数组的索引
●检索,又叫做字符,就是指一个数据在二维数组里边排第好多个位置
○留意: 在所有的语言里边,检索也是从 0 开始
●在 js 里边也一样,数组的索引从 0 逐渐
●检索的功效也是有阅读能力
○读
■功效:获得二维数组该检索区域的数据信息
●假如二维数组有该检索部位, 那样就是这个检索区域的数据信息
●假如二维数组并没有该检索部位, 那你就是 undefined
■词法:二维数组[检索]
○写
■功效:给二维数组的某一个检索区域进行取值
●假如原来二维数组里就有该检索部位, 那你就是改动
●假如原来二维数组里没有该检索部位, 那你就是加上
●假如你设定的检索恰好和 length 一样, 那你就是最后增加
●假如你设定的检索超过 length, 那样正中间空出来位置用 empty 补足, 为了确保最后一位的检索一定是 length - 1
■词法:二维数组[检索] = 值

// 二维数组的 检索 特性

var arr = [100, 200, 300, 400, 500]

// 检索获得
// 获得二维数组中检索为 2 相对应的数据信息
console.log(arr[2])

//由于没有检索是100的这个数字,返回便是undefined
console.log(arr[100]) //undefined

//检索设定
// 由于二维数组有 [2] 部位, 等同于把 [2] 区域的数据修改了
arr[2] = '我就是刚到的'
console.log(arr)

// 由于二维数组并没有 [5] 部位, 等同于加上
// 又因 5 刚好的 length 一样, 就等于是在二维数组后边增加数据信息
arr[5] = 'hello'
console.log(arr)

// 由于二维数组并没有 [10] 部位, 等同于加上
// 假如只是简单的添加一个 '全球' 在 [10] 位置, 那样一共便是 6 个数据信息,
//你设定的最后一个检索也是 [10] , 二维数组就不对了
// 因此, 他为了确保最后一位的检索一定是 length - 1, 从检索 5 ~ 检索9会用 empty 添充
// 确保了长短依然是 11
arr[10] = '小伙伴们好'
console.log(arr) //[100, 200, '我就是刚到的', 400, 500, 'hello', empty × 4, '小伙伴们好']

二维数组实际操作实例
实例1 : 求二维数组内所有信息总和

// 求二维数组内所有信息总和

// 0. 准备一个二维数组
var arr = [100, 200, 300, 400, 500]

// 1. 准备一个自变量, 接纳累加结论
var sum = 0

// 2. 循环系统遍历数组, 取得每一个数据
for (var i = 0; i < arr.length; i  ) {
    // 3. 把二维数组内每一个数据信息导入到 sum 的身上
    sum  = arr[i]
}

console.log(sum)

实例2 : 把10 ~ 20 间的所有的数存储在二维数组里边

//把10 ~ 20 间的所有的数存储在二维数组里边
//既然是放到一个二维数组里面还要准备一个空数组用于储放
var arr = []
console.log(arr.length); //0
//循环遍历获得这些数字
for (var i = 10; i <= 20; i  ) {
    console.log(i);
    //把所得到的二维数组题导入到二维数组里边
    //运用 检索 能够载入的形式进行加上
    // 如果你没有那个检索时, 是加上
    // 当检索恰好和 length 一样的情况下, 便是增加
    arr[arr.length] = i
}
console.log(arr);

文件存储
●根据前面的学习培训我们都知道。基本数据类型分成引用类型(简易基本数据类型)和复杂数据类型(引用数据类型)
●引用类型和复杂数据类型最大的区别在于存放上的差别
●我们自己的内存空间分成栈和堆
○栈:关键储放引用类型内容
○堆:关键储放复杂数据类型内容
●复杂数据类型存放堆内存中。混乱排序, 依据详细地址来搜索(堆室内空间详细地址)

引用类型在运行内存里的存放状况
●var num = 100,在运行内存里的存放状况
●直接从 栈空间 里有存放一个数据信息
●栈内存: 按顺序排序, 首先来在栈底, 之后在栈顶

二维数组的 length 便是是多少

复杂数据类型在运行内存里的存放状况

var obj = {
    name: 'Jack',
    age: 18,
    gender: '男'
}

二维数组的 length 便是是多少

●复杂数据类型的存放
○在堆里边开拓一个内存空间
○把文件存储到内存空间内
○把内存空间地址取值给栈里边的自变量

基本数据类型取值
●引用类型取值
○取值时, 是直接系数的拷贝
○取值之后, 2个自变量彼此之间没什么关系
○更改一个变量值, 另一个不容易产生变化

var n = 10
// 把 n 存放数值取值给 m 自变量
var m = n
console.log(m)
console.log(n)
m = 20
console.log(m)
console.log(n)

●复杂数据类型取值
○复杂数据类型取值时, 就是将自变量内存放地址开展取值
○取值之后, 2个自变量实际操作的是一个内存空间
○任意一个自变量来改变内存空间里的数据信息, 另一个自变量看见的一样是更改往后的

var obj = { name: '武松' }
// 把 obj 存放数值复制出一份给 obj2
var obj2 = obj

console.log(obj)
console.log(obj2)

obj2.name = '宋江'
console.log(obj)
console.log(obj2)

基本数据类型较为
●引用类型, 便是 值 和 值 间的较为

var n = 10
var m = 10
console.log(n == m)

●复杂数据类型, 是 详细地址 和 详细地址 间的较为

var o1 = {
    name: 'Jack'
}
var o2 = {
    name: 'Jack'
}
console.log(o1 == o2) //false

○只要我们创立了2个目标,这样就会在 堆室内空间 里边开拓2个内存空间存放数据(2个详细地址)
○尽管存放内容就是一样的,那样都是2个内存空间,2个详细地址
○复杂数据类型中间便是地址的较为,因此 obj 和 obj2 2个变量的详细地址不一样
○因此我们获得的便是 false

本站是一个以CSS、JavaScript、Vue、HTML为中心的前端开发技术网址。我们的使命是为众多前端工程师者提供全方位、全方位、好用的前端工程师专业知识和技术服务。 在网站上,大家可以学到最新前端开发技术,掌握前端工程师最新发布的趋势和良好实践。大家提供大量实例教程和实例,让大家可以快速上手前端工程师的关键技术和程序。 本站还提供了一系列好用的工具软件,帮助你更高效地开展前端工程师工作中。公司提供的一种手段和软件都要经过精心策划和改进,能够帮助你节约时间精力,提高研发效率。 此外,本站还拥有一个有活力的小区,你可以在社区里与其它前端工程师者沟通交流技术性、交流经验、处理问题。我们坚信,街道的能量能够帮助你能够更好地进步与成长。 在网站上,大家可以寻找你需要的一切前端工程师网络资源,使您成为一名更加出色的网页开发者。欢迎你添加我们的大家庭,一起探索前端工程师的无限潜能!