JS基础——数组总结

JS中数组被认为是一种对象,慢慢的,怎么忽然感觉,JS中只要可以独立出来的概念怎么都可以当成对象来解释呢?有点儿怀疑。继续学吧。先来总结一下JS中数组是如何具体使用的。

一、创建

数组的创建在JS中和Object基本上是一样的。他可以通过new关键字来声明,也可以通过字面量的方法来创建。JS中数组创建只支持一维数组。

1、new

var box=new Array();//new 关键字可省略,内部可对数组进行初始化,或者声明元素的个数,这点其它语言相同

2、字面量

var box=[]; //同样也可以进行初始化

3、注意:1、默认数组中每个元素用‘,’分开,可以用Join()方法是用不同的分隔符对数组元素进行分割,例如:Join(‘|‘)

2、JS中数组元素可以为任意类型,甚至可以为数组。创建一个复杂类型的数组:

var box = [ {                            //第一个元素为包含name和age属性的一个对象
	         name: 'wyy',
	         age:22
	     },
	     '计算机编程',
	     [1, 2, 45, 6,new Object()], //字面量方法创建一个数组,内包含一个对象
	     25 + 34,
	     new Array(6,7,8)  //这里为一个数组
	    ]

二、元素赋值和调用

1、赋值

在为数组元素进行赋值时,可以直接初始化为各个元素进行赋值,但这种方式不够灵活,如果我们想动态为数组添加元素时,这个时候需要的就是在外部直接为数组中的元素进行赋值。可以利用数组中各个元素的name为其赋值,可以利用元素下标进行赋值。

var  box=[];
box.name='wyy';
box.age=22;
alert(box['name']); //这里alert(box)直接弹出数组box的话不支持。会弹出空

或者采用数组下标的方式

var  box=[];
box[0]='wyy';
box[1]=22;
alert(box); //利用下标方式可以弹出box中的元素内容

鉴于上述两种方式的差异所以,通常赋值时,我们采用索引下标进行赋值。那么根据赋值的方式,数组在调用的时候原理也是一样的。通过元素名称和索引下标来进行调用。同时,这里可以用length属性来获得数组元素的个数和数组中最后一个元素的值。

三、对象和操作方法

对象方法

1、栈

push:在数组末尾添加一个元素 语法:box.push(‘123‘) 注意的是如果是alert(box.push(‘123‘))会返回最新数组的长度

pop:移除数组末尾元素:语法 alert(box.pop())//返回移除元素的值,这里和push有区别

2、队列

push:同栈中的push方法

shift:移除最先进去的元素 语法:alert(box.shift())//打印出移除元素

unshift:为数组前端添加一个元素,并返回新数组的长度。box.unshift(‘123‘)//存在不兼容现象

3、排序

reverse:返回一个逆序排列的数组,原数组也被逆序了,说明操作的是数组的引用

sort:从小到大排序,这个函数在使用前需要对其排序规则进行声明。可正负颠倒。

操作方法:

1、concat:基于原来的数组再追加一个新的数组

2、slice()和spice()这两个方法用途很广,参数不定,规则也不定,使用时,需要仔细区分。

slice主要用于取值,但不影响原来数组的值

spice主要用于删除数组中指定的元素。例如:Box.splice(1,3)//从第一个元素开始,取3个元素,并且将原数组中这些元素删掉。同时也可以用来插入元素,例如:

Box.splice(1,0,‘wlj‘,‘dsf‘)//在第一个元素后插入后面的元素

var box1= box.splice(1,0,‘hello‘); //这里第二个参数为0,所以没有要删除的位置,那么含义转变成在第一个位置后面插入一个元素‘hello’。

小结:这一部分的知识比较碎,没有太多原理上的知识,我们必须将学过的知识进行知网,给它一条线来串起来,就像一个固定的模式一样可以从创建使用等方面将它们联系起来,多多回顾,通过例子来加深理解。

时间: 2024-10-15 15:08:59

JS基础——数组总结的相关文章

JS基础(数组的方法)

一.数组的对象方法 concat() 用法:连接两个或更多的数组,并返回结果. 参数 : 可以是单个或多个元素, 也可以是一个或多个数组, 也可以混合使用. 返回值 : 返回拼接后的数组. 特点 : 不改变原数组. 注意点 : 苏虽然传递的参数是数组, 但是操作的是数组里面的元素. join() 用法:把数组的所有元素放入一个字符串.元素通过指定的分隔符进行分隔. 参数 : 指定的符号, 用来连接数组各元素, 默认是逗号. 返回值 : 拼接后的字符串. 特点 : 不改变原数组. 注意点:toSt

js基础--javascript基础概念之数组(二)

js基础--javascript基础概念之数组 数组栈方法 数组可以像栈一样.栈是一种先进后出的数据结构,最先添加的数据最后一个出来.栈方法添加数据也称为 推入  移除数据称为 弹出. js为数值栈方法提供了 push()   和  pop() ;  两个方法. push() push() 方法接受参数就是你要添加进入到数组的值.push()  方法会将他们逐一添加到数组的末尾  数组的length属性会跟着更新数据. *push(多个数组元素值) 返回的修改后的数组长度 var array =

js基础--javascript基础概念之数组

js基础--javascript基础概念之数组 在ECMAScript 中 ,数组是很常用的数据类型,js中的数组和其他很多语言的数组有明显的区别.js的数组可以保持任何类型的数值,一个数组中可以保存着多个不同类型的数值.js数组大小(长度)是可以调整的.可以随着数据的添加自动增长数组长度. 创建数组: 一.数组字面量 数组字面量由一对包含数组项的方括号[]表示. var array = [ 'kin', 'cheong', 'change', 'hello', 'haha', 'hi' ];

js基础复习---数组操作

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="keywords" content="js数组操作"> <meta name="description" content="js基础之数组api练习"> <title

js 基础知识 对象与数组

对象是一种无序属性的集合,每个属性都有自己的名字和值. 对象的创建有很多种,我在第一章已经说过了. 如何遍历一个对象: var x;var txt="";var person={fname:"Bill",lname:"Gates",age:56}; for (x in person)       //x其实是一个变量,代表的是person对象的属性{txt=txt + person[x];              //person[属性]  等

js基础知识总结(2016.11.1)

js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避免全局变量和方法(命名空间,闭包,面向对象),模块化(seaJs,requireJs) 常用内部类:Data Array Math String HTML属性,CSS属性HTML:属性.HTML属性="值":CSS:对象.style.CSS属性="值"; class和f

JS基础(超级简单)

1     JS基础(超级简单) 1.1 数据类型 1.1.1   基本类型: 1)        Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2)        string 3)        boolean 4)        null 5)        undefined 1.1.2   复杂类型 object:date,array,function 1.2 变量 var 变量名=值 变量的作用域:1.全局:以页面为单位.2局部:以函数为单位.

JS基础知识回顾:引用类型(一)

在ECMAScript中引用类型是一种数据结构,用于将数据和功能组织在一起,而对象时引用类型的一个实例. 尽管ECMAScript从技术上讲是一门面向对象的语言,但它不具备传统的面向对象语言所支持的类和接口等基本结构,所以虽然说引用类型与类看起来想死,但他们并不是相同的概念. 不过引用类型有的时候也可以被称为对象定义,因为他们描述的是一类对象所具有的属性和方法. 新对象是使用new操作符后跟一个构造函数来实现的,构造函数本身就是一个函数,只不过该函数时处于创建新对象的目的而定义的. ECMASc

js基础知识点收集

js基础知识点收集 js常用基本类型 function show(x) { console.log(typeof(x)); // undefined console.log(typeof(10)); // number console.log(typeof('abc')); // string console.log(typeof(true)); // boolean console.log(typeof([])); // object console.log(typeof(function (