Array数组内函数

 
concat()
功能:合并数组,并且生成新数组。对原数组没有改变。
不传参数的时候,相当于生成新数组。
格式:数组.concat(数据...数组);
返回值:生成的新数组
代码示例:
 1 //.concat('要添加的数组元素')
 2 var arr = [11, 13, 22, 33];
 3 var arr1 = arr.concat(44, 55); //给arr数组添加两个元素 44, 55
 4 //并生成一个新的数组,不改变原有数组arr。 
 5  alert(arr);//11, 13, 22, 33
 6 alert(arr.concat(88, 88));//11,13,22,33,88,88
 7 alert(arr1);//11,13,22,33,44,55
 8 var arr1 = [10, 20, 30];
 9 var arr2 = [40, 50, 60];
10 var arr = arr1.concat(arr2, 10, true, [30, 40]);
11 alert(arr.length);
12 alert(arr1); //10, 20, 30, 40, 50, 60, 10, true, 30, 40
13 alert(arr2); //40, 50, 60
14  

 

-----数组内函数   栈  --------------------------------------------------------------
                栈:古代把木盆叫做栈。
                特点:先进后出。
                实现方式:从同一头进,从同一头出。
                
 
                push()
                格式:数组.push(参数)
                参数:添加进数组的元素。
                功能:给原数组的末尾添加元素。直接修改原数组。
                返回值:插完元素以后数组的长度。
 
 
                pop
                功能:从数组的尾部取元素,一次只能取一个。直接修改原数组。
                格式:数组.pop();
                返回值:取下的元素
  
代码示例:
 
 1 //.push(数组元素) 给数组在末尾添加数组元素。直接修改原数组。返回值为插入元素后,数组的长度
 2 var arr = ['上', '下']; //数组可以是字符串、数字、boolean值。
 3 var res = arr.push('左'); //.push()函数的返回值为 插入后数据的长度。
 4 alert(arr);//结果 上,下,左
 5 alert(res);//查看插入后数组的长度。
 6  
 7 var arr = [100, 200]; //数组可以是字符串、数字、boolean值。
 8 arr.push(300);
 9 alert(arr);//结果 100,200,300
10 //pop() 从数组末尾取走一个数组元素,并新建一个数组。直接修改原数组。返回值为取走的数。
11 var arr = [100, 200, 300]
12 var res = arr.pop()
13 alert(arr);// 100, 200, 300
14 alert(res) //300 函数的返回值为取走的数。

 

示例2:
1 var arr = ["钢铁侠", "雷神", "美国队长"];
2 var res = arr.push("蚁人", "蜘蛛侠");
3 alert(arr); // 钢铁侠, 雷神, 美国队长,蚁人, 蜘蛛侠
4 alert(res); //5
5 ------------------------------------------------------
6 var arr = ["钢铁侠", "雷神", "美国队长"];
7 var res = arr.pop();
8 alert(arr);//雷神, 美国队长
9 alert(res);//钢铁侠

 

 
 
-----------------------栈 end------------------------------------------
 
 
------------------------数组内函数   队列-----------------------
 
            队列
                特点:先进先出。
                实现原理:从末尾进,从排头出。
 
                .push
 
                .shift()
                功能:从数组的排头取元素。
                格式:数组.shift()
                返回值为取走的数据。
 
 
 
                .unshift()
                功能:从数组的头部插入元素。
                格式:数组.unshift(任意参数)
                返回值:插完元素以后数组的长度
 
 
代码示例:
 
//.push() 用法同上。
 
//.shift() 从数组的排头去元素。返回值为取走的数。直接修改原函数。
var arr = [100, 200, 300];
var res = arr.shift();
alert(res);//100
alert(arr); //200, 300
/*-----------------------------------------------------------*/
 
// .unshift() 从元素的头部 插入数组元素。返回值为插入后的 数组长度。
var arr = [true, false, true];
var res = arr.unshift(false);
alert(res);//4
alert(arr);// false,true,false,true
 
示例2;
 
var arr = ["X教授", "琴", "镭射眼"];
/*arr.push("震荡波");
alert(arr);*/
 
/*var res = arr.shift();
alert(arr);//琴, 镭射眼
alert(res);*///X教授
 
 
/*看.shift时请把.push和.unshift注释掉来看 arr 是公用的*/
 
 
var res = arr.unshift("天启", "雷神");
alert(arr);//天启, 雷神,X教授, 琴, 镭射眼
alert(res);//5
 
---------------------------------队列end-------------------------------
 
------------------------2018年08月27日补充------------------------
数组内函数:
 
 
slice
                slice()
                格式:数组.slice(start, end);
                功能:提取对应范围的元素,生成一个新数组。并不会修改原数组。
                参数:start  从哪个下标开始去提取
                     end    从哪个下标结束  [start, end)    这里提取的数组元素不包括end下标的这一个。
                返回值:新数组。
 
 
示例:
var arr = ["沙皮", "巴哥", "京巴", "西施犬", "西藏犬", "冠毛犬"];
 
var newArr = arr.slice(2, 5);
alert(newArr);//京巴,西施犬,西藏犬
alert(arr);//沙皮,巴哥,京巴,西施犬,西藏犬,冠毛犬        说明不会修改原数组
 

 

 
splice
 
                splice
                格式:数组.splice()
                参数:第一个参数,start,从哪个位置开始截取
                     第二个参数,截取元素的个数
                     第三个参数往后,在start这个位置,我们插入的元素。
                【注】splice会修改原数组。
                返回值:删除掉的元素,组成的数组。
 
 
                功能:
                    增
                    删
                    改
 
 
        //splice
        //用法 .splice(要截取的位置, 要截取几个数组元素-可以不写既不截取, 在第一个参数描述的位置插入此处往后写的数组元素)
 
代码示例:
 
插入元素
var arr = ["哈士奇", "萨摩耶", "阿拉斯加"];
 
//插入元素
arr.splice(1, 0, "比熊", "博美");//在下标1的数组的位置,截取0个元素,增加元素 "比熊", "博美"
alert(arr); //哈士奇,比熊,博美,萨摩耶,阿拉斯加
  
 
删除元素
var arr = ["哈士奇", "萨摩耶", "阿拉斯加"];
//删除(截取)元素
var res = arr.splice(1, 2);//从下标1的数组元素的位置,截取1个数组元素。
alert(arr);//哈士奇
alert(res);//萨摩耶,阿拉斯加 说明.splice的返回值为 删除的元素。

 

修改元素(先删除后插入)
var arr = ["哈士奇", "萨摩耶", "阿拉斯加"];
//改(先删除后插入)
arr.splice(1, 1, "金毛");//在下标2的数组元素的位置开始,截取(删除)一个元素,在添加一个元素 "金毛"。
alert(arr);//哈士奇,金毛,阿拉斯加

 

join
 
                join  使用拼接符,将数组中的元素拼接成字符串。
 
                格式:数组.join(拼接符)
                返回值:字符串
 
var arr = ["哈士奇", "萨摩耶", "阿拉斯加"];
 
var str = arr.join("999");//用999连接所有的数组元素并组成一个字符串
alert(str);//哈士奇999萨摩耶999阿拉斯加
 
var str1 = arr.join('');//用空字符串拼接
alert(str1);//哈士奇萨摩耶阿拉斯加
 
var str1 = arr.join('+');//用字符+拼接
alert(str1);//哈士奇+萨摩耶+阿拉斯加

 

如果想拼接完,还让它为数组可以用Number( )进行强制类型转换(必须是能转换的,例如'1'  '10'等这样的字符数数字)。
 
var arr = [1, 2, 3, 4, 5, 6];
 
var res = arr.join('');//用空字符串拼接数组元素。
alert(res);//123456 字符串型
alert(typeof res);//string 是字符串
//如果我门想让它转为数字类型(Number),利用Number进行强制类型转换即可。
alert(Number(res));//123345 数字型
alert(typeof Number(res));//number 是数字

 

对数组内函数的总结:
 
                不会改变原数组:concat slice  join
                会改变原数组:push pop   push shift  unshift  splice
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2018-08-25 11:56  暗恋桃埖源  阅读(306)  评论(0编辑  收藏  举报