数组方法

80 阅读6分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 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(被截取的元素的开始下标,被截取元素的结束位置的下标)

说明:返回的是一个新数组,不包含结束位置元素,结束位置可以省略,省略的话会已知截取到数组末尾。