Js中数组的操作
使用splice
//删除数组中的任意元素
Array.prototype.indexof=function(val){
for(var i=0;i<this.length;i++){
if(this[i]==val) return i;
}
return -1;
};
Array.prototype.remove=function(val){
var index=this.indexof(val);
if(index>-1){
this.splice(index,1);
}
};
var emp=['abc','dsf','sfd','fs'];
emp.remove('fs');
console.log(emp);
//删除起始下表为1,长度为1的一个值
var arr=['a','b','c','d'];
arr.splice(1,1);
console.log(arr);
//删除下表为1,长度为2的一个值
var arr2=['a','b','c','d'];
arr2.splice(1,2);
console.log(arr2);
//替换
//替换起始下表为1,长度为一的一个值wei ttt,
var arr=['a','b','c','d'];
arr.splice(1,1,'ttt');
console.log(arr);
//替换俩个值为一个bc为ttt
var arr2=['a','b','c','d'];
arr2.splice(1,2,'ttt');
console.log(arr2);
//添加-- len设置为0,item为添加的值
var arr=['a','b','c','d'];
arr.splice(1,0,'ttt');
console.log(arr);
//表示在下标为1处添加一项'ttt'
Delete使用
//用delete删除指定的元素,数组的长度不变,选择项用undefined代替
var arr=['a','b','c'];
delete arr[1];
console.log(arr);
console.log(arr.length);
指定Index删除
// Array remove
Array.prototype.remove=function(from,to){
var rest=this.slice((to||from)+1||this.length);
this.length=from<0?this.length+from:from;
return this.push.apply(this,rest);
};
//example
var array=['a','b','c','d'];
//移除数组中的第二项
//array.remove(1);
console.log(array);
//移除数组中倒数第二项
array.remove(-2);
console.log(array);
//移除数组中第二项,第三项
//array.remove(1,2);
console.log(array);
//移除最后一项和倒数第二项
//array.remove(-2,-1);
console.log(array);
转化字符串
//转换为字符串
var colors= ['red','blue','green'];
console.log(colors.toString());
console.log(colors.valueOf());
console.log(colors.toLocaleString());
//toLocaleString()不同的情况
var person1={
toLocaleString:function(){
return "Mikolaos";
},
toString:function(){
return "Mikolaos";
}
}
var person2={
toLocaleString:function(){
return "Origorios";
},
toString:function(){
return "Greg";
}
}
var person=[person1,person2];
console.log(person);
console.log(person.toString());
console.log(person.toLocaleString());