面试很痛苦,备点前端面试题(二)——js数组及其操做

数组操做很常考,也很经常使用,用好了代码仍是很漂亮的。数组

在控制台打印数组的属性什么的实在太多了,就捡点经常使用的背背吧。(参考W3C)函数

一、数组的建立spa

//字面量方法
var ary1=[];//建个空数组
var ary2=[1,2,3];//建个有值的数组
//构造函数的方法
var ary3=new Array()//建个空数组
var ary4=new Array(1,2,3)//建个有值的数组
var ary5=new Array(3) //建个预知长度的数组 元素都为 undefined

二、Array 对象属性prototype

//constructor    返回对建立此对象的数组函数的引用。
//length    设置或返回数组中元素的数目。(比较经常使用)
//prototype    使您有能力向对象添加属性和方法。

三、数组的操做方法code

按返回值分红两类吧,我的比较容易记混的。一类是原数组被修改,一类是返回修改后的副本,保留原数组。对象

原数组被修改的:blog

//pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,而且返回它删除的元素的值。若是数组已经为空,则 pop() 不改变数组,并返回 undefined 值。
//用法:arrayObject.pop()
  var arr = [1,2,3]
  console.log(arr)//[1,2,3]            
  console.log(arr.pop())//3            
  console.log(arr)//[1,2]
//push()    直接操做原数组,向数组的末尾添加一个或更多元素,并返回新的长度。
//reverse()    颠倒数组中元素的顺序。返回翻转后的数组
//shift()    删除并返回数组的第一个元素
//sort()    对数组的元素进行排序
  //用法:  arrayObject.sort(sortby)  在原数组上进行排序,返回排序后的新数组
//splice() 删除元素,并向数组添加新元素。
  //用法: arrayObject.splice(index,howmany,item1,.....,itemX)   删除从 index 处开始的零个或多个元素,而且用参数列表中声明的一个或多个值来替换那些被删除的元素。
  //若是从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。

//unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
  //用法:arrayObject.unshift(newelement1,newelement2,....,newelementX)  将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,若是还有第二个参数,它将成为新的元素 1,以此类推。

 

 

不修改原数组的:排序

//concat()    链接两个或更多的数组,返回被链接数组的一个副本。。
//用法:arrayObject.concat(arrayX,arrayX,......,arrayX)//参数必须,能够是任意数量的具体值或者数组
var a = [1,2,3];
var b = [4,5];
var c = [6];
console.log(a.concat(7,8))// [1,2,3,7,8]
console.log(a.concat(b))// [1,2,3,4,5]
console.log(a.concat(b,c))// [1,2,3,4,5,6]
//join()    把数组的全部元素放入一个字符串。返回被分隔符连接的一个字符串。
  //用法:arrayObject.join(separator) //参数是个链接符,默认逗
//slice()    从某个已有的数组返回选定的元素
  //用法 :  arrayObject.slice(start,end) 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
//toSource() 返回该对象的源代码。 
//toString() 把数组转换为字符串,并返回结果。 
//toLocaleString() 把数组转换为本地数组,并返回结果。
//valueOf() 返回数组对象的原始值
相关文章
相关标签/搜索