数组方法的集合


<script type="text/javascript">
var arr = ["孙悟空","猪八戒","沙和尚","唐僧","白骨精"];
var result = arr. slice(1,-2);
console.log(result);//["猪八戒", "沙和尚"]


var array = ['张三', '李四', '王五', '赵六'];  
console.log(array);//["张三", "李四", "王五", "赵六"]
     console.log(array. toString());//张三,李四,王五,赵六


     /* join()方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的*/
     var array1 = ['三张', '四李', '五王', '六赵'];  
console.log(array.join('/'));  //张三/李四/王五/赵六


/*将字符串转换成Array对象(数组)  
很熟悉的方法 */   
var str = '霍丽丽,李四,王五,赵六';       
var array2=str. split(',');    
console.log(array2);//  ["霍丽丽", "李四", "王五", "赵六"]  
   console.log(array2.toString());//霍丽丽,李四,王五,赵六


   /*上面的例子如果使用空格分割呢?  
下面的语句使用空格分割呢?有神马用处?  */
var str1 = '张三李四王五赵六';        
var array3=str1.split(''); 
console.log(str1);//张三李四王五赵六(原字符串不改变)
console.log(array3) ;//["张", "三", "李", "四", "王", "五", "赵", "六"]     
console.log(array3.toString());  //张,三,李,四,王,五,赵,六


/* concat():在数组的末尾添加元素,并返回一个新的数组,原数组不变。
注意:和前边直接向数组中添加元素的区别:  前者操作的数组本身,
而后者是返回一个新的数组,原数组不变   */
var array4 = new Array('代可嘉,李四,王五,赵六');         
var array5= array4.concat('田七', '王八');  
console.log(array4);//["代可嘉,李四,王五,赵六"]
console.log(array5);//  ["代可嘉,李四,王五,赵六", "田七", "王八"]      
console.log(array4.toString());  // 代可嘉,李四,王五,赵六       
console.log(array5.toString());  //代可嘉,李四,王五,赵六,田七,王八


/* slice()从数组中截取指定的元素,并返回新数组,原数组不变  
截取从第2元素开始到最后一个元素结束*/  
var array6 = new Array('张三','李四','王五','赵六');  
var array7 = array6.slice(1,3); 
var array8=array6.slice(1);
console.log(array7) ;//["李四", "王五"] 
console.log(array8) ;//["李四", "王五", "赵六"] 


/* shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined */
var a = [1,2,3,4,5]; 
var b = a.shift();  
console.log(a);//a:[2,3,4,5] 元素组会会从头往后减少
console.log(b);//b:1


/* unshift:将参数添加到原数组开头,并返回数组的长度*/ 
var a = [1,2,3,4,5]; 
var b = a.unshift(-2,-1);
console.log(a); //a:[-2,-1,1,2,3,4,5]
console.log(b); //b:7 
/*注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。 */


/* pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined */
var a = [1,2,3,4,5]; 
var b = a.pop(); 
console.log(a);//a:[1,2,3,4] 
console.log(b);// b:5 //不用返回的话直接调用就可以了


/* push:将参数添加到原数组末尾,并返回数组的长度*/ 
var a = [1,2,3,4,5]; 
var b = a.push(6,7); //a:[1,2,3,4,5,6,7]   b:7 


/* concat:返回一个新数组,是将参数添加到原数组中构成的 */
var a = [1,2,3,4,5]; 
var b = a.concat(6,7); //a:[1,2,3,4,5]   b:[1,2,3,4,5,6,7] 


/* splice()方法:splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...   
好用且简单  
第二个参数为0时,不删除任何项*/  
var array9 = new Array('李四', '张三', '赵六', '王五');      
array9.splice(1, 0);      
console.log(array9);//["李四", "张三", "赵六", "王五"]


/*第二个参数为1时,删除下标为第一个参数指定下标的元素  */     
var array10 = new Array('李四', '张三', '赵六', '王五');                 
array10.splice(1, 1);
console.log(array10);//["李四", "赵六", "王五"]   删除了"张三"


/* 第二个参数为2时,  
删除下标为第一个参数指定下标和第一个参数下标+1的下标的元素,  
以下以此类推  */
var array11 = new Array('李四', '张三', '赵六', '王五');         
array11.splice(1,2); 
console.log(array11);//["李四", "王五"] 


/*第二个参数为0时,在下标为1的位置新增一项,  
原来下标为1的元素后移  */
var array12 = new Array('李四', '张三', '赵六', '王五');  
array12.splice(1,0,'新添加项');
console.log(array12);//["李四", "新添加项", "张三", "赵六", "王五"]


/*第二个参数为1时,在下标为1的位置新增一项,原来下标为1的元素删除 */ 
var array13 = new Array('李四', '张三', '赵六', '王五');       
array13.splice(1, 1, '新添加项');//["李四", "新添加项", "赵六", "王五"]
console.log(array13);


/*第二个参数为2时,在下标为1的位置新增一项,原来下标为1和下标为1+1的元素删除,  
以下以此类推 */ 
var array14 = new Array('李四', '张三', '赵六', '王五');      
array14.splice(1, 2, '新添加项'); 
console.log(array14);//["李四", "新添加项", "王五"]


/*删除2项,新增2项 */ 
var array15 = new Array('李四', '张三', '赵六', '王五');    
array15.splice(1,2,'第一项','第二项');
console.log(array15);//["李四", "第一项", "第二项", "王五"]


/**
* 字符串处理函数
*/
function StringBuffer(){
var arr = new Array('李四', '张三', '赵六', '王五');
this.append = function(str){
   arr[arr.length] = str; };
this.toString = function(){
   return arr.join("");}; //把append进来的数组ping成一个字符串
}
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值