面试很痛苦,备点前端面试题(二)——js数组及其操作
2018-05-14 03:23 麻雀! 阅读(4067) 评论(0) 编辑 收藏 举报数组操作很常考,也很常用,用好了代码还是很漂亮的。
在控制台打印数组的属性什么的实在太多了,就捡点常用的背背吧。(参考W3C)
1、数组的创建
//字面量方法 var ary1=[];//建个空数组 var ary2=[1,2,3];//建个有值的数组 //构造函数的方法 var ary3=new Array()//建个空数组 var ary4=new Array(1,2,3)//建个有值的数组 var ary5=new Array(3) //建个预知长度的数组 元素都为 undefined
2、Array 对象属性
//constructor 返回对创建此对象的数组函数的引用。
//length 设置或返回数组中元素的数目。(比较常用)
//prototype 使您有能力向对象添加属性和方法。
3、数组的操作方法
按返回值分成两类吧,个人比较容易记混的。一类是原数组被修改,一类是返回修改后的副本,保留原数组。
原数组被修改的:
//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() 返回数组对象的原始值