- 数组方法里push、pop、shift、unshift、join、split分别是什么作用。(*)
1. push()
定义
向数组的末尾添加一个或多个元素,并返回新的长度。
语法
array.push(newelement1,newelement2,....newelementN)
var aArray0=[0,1];
aArray0.push(2,3);
console.log (aArray0);//aArray0[0,1,2,3]
console.log(aArray0.push()) //4 返回新的长度
var aArray1=[0,1]
aArray1.push() //不写参数不会报错 但是没实际意义
console.log (aArray1) //aArray1[0,1]
console.log(aArray1.push() ) //2
2. pop()
定义
用于删除并返回数组的最后一个元素。
语法
array.pop()
var aArray00=[];
aArray0.pop();
console.log(aArray0) //删除一个空数组不会报错 但是无意义
console.log(aArray0.pop()) //在返回值的时候会报错
var aArray1=[1,2,3];
aArray1.pop();
console.log(aArray1);//aArray1[1,2]
console.log (aArray1.pop()) //2
3. shift()
定义
用于把数组的第一个元素从其中删除,并返回第一个元素的值。
语法
arrayObject.pop()
var aArray0=[0,1,2];
aArray0.shift();
console.log(aArray0); //[1,2]
console.log(aArray0.shift()); //[1]
var aArray0=[];
aArray0.shift();
console.log(aArray0); //[]
console.log(aArray0.shift()); //undefined
4.unshift
定义
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
语法
array.unshift(newelement1,newelement2,....newelementN)
var aArray0=[2,3];
aArray0.unshift(0,1);
console.log(aArray0); //[0,1,2,3]
console.log(aArray0.unshift()); //4
Paste_Image.png
5. join
定义
用于把数组中的所有元素放入一个字符串其用指定的分隔符将其分开
语法
array.join(separator)
var aArray0=[0,1,2,3,4,5];
aArray0.join();
console.log(aArray0); //[0,1,2,3,4,5] join不会改变原来的数组
console.log(aArray0.join()); //0,1,2,3,4,5 不写参数默认用,隔开
var aArray1=["h","e","l","l","o"];
console.log(aArray1.join("-")); //h-e-l-l-o
6.\split()
定义
用于把一个字符串分割成字符串数组
语法
string.split(separator,howmany)
var sString0 = "hellow world,this is me";
console.log(sString0.split("")); //array[23]
console.log(sString0.split(" ")); //array[4]
console.log(sString0.split(",")); //array[2]
console.log(sString0.split("",3)); //[h,e,l]
console.log(sString0.split("l",3)); //["he","","ow wor"]
代码一
http://js.jirengu.com/manexenuvu/2/edit
代码二
http://js.jirengu.com/gegubayeqi/1/edit
代码三
http://js.jirengu.com/gegubayeqi/2/edit
上面的find()无法在一组数组中寻找重复
http://js.jirengu.com/gegubayeqi/5/edit
Paste_Image.png有个疑问
如果
result.push(i+1)//如果没有+1 可能会返回[]和[0] 这会走同一逻辑 怎么区分它
们 让[]走false 让[0]走true
ps:解决了 可以用length
代码四
http://js.jirengu.com/gegubayeqi/7/edit
代码五
http://js.jirengu.com/vixegofiko/2/edit
代码六
http://js.jirengu.com/warigapezi/1/edit
代码七
http://js.jirengu.com/niqeloriwu/2/edit
arr = ["a", "b"];
arr.push( function() { alert(console.log('hello hunger valley')) } );
//push arr数组进去一个function(){}
//arr=function(){} arr["a","b",funciton() { alert(console.log('hello hunger //valley')) }]
arr[arr.length-1]()
// arr.length-1=2
//arr[2]=function() { alert(console.log('hello hunger valley')) }
//执行function
//下面不太清楚是我的猜想
// alert(console.log('hello hunger valley')) 先执行console.log执行完销毁
//alert(undefined)
代码八
http://js.jirengu.com/niqeloriwu/2/edit
** 遍历的性能有点问题 代码10中有优化**
Paste_Image.png
代码九
http://js.jirengu.com/xuxoqaheno/1/edit
代码10
** 对于代码8相同的遍历有所优化 **
http://js.jirengu.com/xuxoqaheno/2/edit
代码11
http://js.jirengu.com/xuxoqaheno/3/edit
Paste_Image.png代码12
http://js.jirengu.com/xuxoqaheno/4/edit
Paste_Image.png代码13
http://js.jirengu.com/xuxoqaheno/6/edit
代码14
http://js.jirengu.com/xuxoqaheno/8/edit
代码15
http://js.jirengu.com/xuxoqaheno/7/edit
代码16
http://js.jirengu.com/joqovosiri/1/edit
本教程版权归菲龍探雲和饥人谷所有,转载须说明来源
网友评论