【腾讯2015春招web前端开发练习卷】
请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
1 Array.prototype.distinct = function() { 2 var ret = []; 3 for (var i = 0; i < this.length; i++) 4 { 5 for (var j = i+1; j < this.length;) { 6 if (this[i] === this[j]) { 7 ret.push(this.splice(j, 1)[0]); 8 } else { 9 j++; 10 } 11 } 12 } 13 return ret; 14 } 15 //for test 16 alert([‘a‘,‘b‘,‘c‘,‘d‘,‘b‘,‘a‘,‘e‘].distinct());
【运行结果】
【知识点1】splice()方法:向数组中添加/从数组中删除项目,并返回被删除的项目。
语法:arrayObject.splice(index,howmany,item1...itemX);
index:添加/删除项目的位置(在处于index位置的项目前添加)
howmany:删除的项目个数,若为零表示不删除,若不为零,则删除位置用后面的item元素替换。
【知识点2】push()方法:向数组末尾添加一个或多个元素,并返回新的长度。
时间: 2024-11-03 07:10:03