携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第7天juejin.cn/post/712312…
对象:实际上也是一种数据类型。但是和基本数据类型还不一样,是他们的存储方式不同。内存有两种存储方式,堆和放,基本数据类型存在堆里,对象存在堆和放两方面。
任何一个对象都具有对象属性和对象的方法。属性指的是生下来就有的
对象分很多类型:1、数组对象
数组的作用:1、是一种数据结构(结构就是指数组以什么结构存放的),用于存储数据
创建数组的方法:
1、 直接创建
语法:var 数组名=[ 元素1,元素2,元素3…]; 也叫字面量的创建方式
2、 指定数组元素 Array是通过构造函数创建的
语法:var 数组名=new 空格 Array(元素1,元素2,元素3…);正儿八经的创建数组,通过关键字new创建
3、 指定数组长度 在内存里预留了5个位置
语法:var 数组名=new Array(5);
注意:里面的元素也可以放函数名,
一个单词后面跟小括号,看小括号前面单词是不是第一个字母大写,是的话就是构造函数
2022-06-21
读取数组当中元素的方式
1、 直接写数组的名字就可以
每个元素都有一个索引值,第一个元素索引值是0,往后依次递增
2、通过索引值单独读取某个元素的位置 document.write(sName[1]);
3、修改数组中的元素,先同过索引值找到它,在进行赋值改。
例子:sName=[“tom”,2,3]
修改第一个元素 sName[0] =”小明”;
4、 遍历数组
遍历数组的方法有很多,最常用的是for循环
遍历数组方法一:
例子:for(var i=0; i<sName.length; i++){
sName[i]*=2;
}
Document.write(sName);
遍历数组方法二: for in循环,是本质上是来遍历对象的
例子:for(var x in sName){
sName[x]*=2;
}
Document.write(sName);
数组的属性和方法(索引值也是数组的属性,但这个属性比较特殊)
最常用的数组属性:
数组名.Length 用于存储数组的长度
获取对象属性中的数据(值)
语法:对象名.属性名=
修改对象属性名的值
修改:对象名.index=新的值
对象名.方法名() 调用对象中的方法。方法名只能用在这个对象里,不能混
方法是针对对象的一个函数,所以调用时要加小括号
以下是数组的方法
5、 添加数组元素
A、 在数组尾部添加元素
语法:数组名.push(元素1,元素2,…)
Push也有返回值,返回值是数组的长度
Var sName=[23,5,78,8];
例子:x=sName.push(“莉莉”,”tom”); alert(x);//6
B、 在数组头部添加元素
语法:数组名.unshift(元素1,元素2,…)
unshift也有返回值,返回值也是数组的长度
6、 删除数组的方法
A、删除数组最后一个元素
语法:数组名.pop();()里不用写参数
通过事件绑定函数 button与函数绑定,按钮上的单击事件和函数绑定了
Document.write()每次调用实际上是把原来body里的文档覆盖了 (它是文档的输出方法)
想在文档里输出,还不想覆盖按钮就用获取节点的方法
A、 删除数组前端的元素
语法:数组名.shift();()里不用写参数
B、 删除指定下标的元素,只删除元素,不会删除位置
语法:delete 数组名[index];
7、 查询数组中是否含有指定的元素
语法:indexOf(这里写想找的元素);
有该元素的话返回值是该元素的索引值,没有的话是-1;
把indexOf() 赋值给一个新的变量,就可以看到返回值。
作用:数组去重,就是去掉重复的元素(手机上有例子)
数组去重实现原理:创建一个新数组,将原数组中的所有元素依次添加到新数组中,并且在添加之前判断新数组中是否已经包含要添加的数组元素(判断方法是if(newArr.indexOf(sName[i])==-1),如果不包含,就添加进去,否则就不添加
8、 用于颠倒数组中元素的顺序,该办法会改变原来数组的位置,而不会创建新的数组
语法:数组名.reverse();
作用:可以用来给数字排序,价格由低到高
9、排序方法
数组里都是数字
Sort()里没参数时,默认按照元素字符串的编码顺序进行排列
语法:数组名.sort()
Sort(function(a,b){returen a-b});降序
Sort(function(a,b){return a-b}) 升序
10、合并数组
语法:数组名.concat() 返回值是合并之后的新数组
原始的数组不会受影响
11、数组转换成字符串(用的不多,转没多大用处)
语法:数组名.toString(); 并返回
解释:输出原数组时,没有变化,但把数组名.toString();赋值给新的变量,在控制台输出这个变量的检查类型console.log(typeof 属性名);,会是string。
12、字符连接
语法:数组名.join(“分隔符”)
不要分割符,就只在()里写一个双引号,千万不要空格,空格也是分隔符
作用:将数组转换成字符串,可以自定义分隔符
13、 更新移动数据
Splice方法,用作从一个数组中移除一个或多个元素,剩下的元素组成一个数组,溢出的元素组成另一个数组并返回。同时,原数组可以在移除的位置顺带插入一个或多个元素,达到修改替换数组元素的目的。(删除指定位置指定元素个数)
语法:数组名.splice(删除元素的索引,删除的长度,插入的元素1,插入的元素2…);
返回值是删掉的那些数组元素
注意:只有一个参数,从指定位置开始删除后面所有的元素
14、截取数组数据
Slice 方法,截取数组的一段元素,并返回截取的元素生成一个新的数组。原数组不受影响
语法:数组.slice(被截取的元素的开始下标,被截取元素的结束位置的下标)
说明:返回的是一个新数组,不包含结束位置元素,结束位置可以省略,省略的话会已知截取到数组末尾。