1翎蹈、數(shù)組方法里push、pop男公、shift荤堪、unshift狂魔、join棚贾、splice分別是什么作用?用 splice函數(shù)分別實(shí)現(xiàn)push倾哺、pop糠爬、shift寇荧、unshift方法。
- push:向數(shù)組的末端添加一個(gè)參數(shù)执隧。例如:
var arr = [1,2,3];
arr.push(4);
console.log(arr);
//輸出[1, 2, 3, 4]揩抡。
- pop:刪除數(shù)組最末端的一個(gè)參數(shù)户侥。例如:
var arr = [1,2,3,4];
arr.pop();
console.log(arr);
//輸出[1, 2, 3]。
- shift:刪除數(shù)組中的第一個(gè)參數(shù)峦嗤。例如:
var arr = [1,2,3,4];
arr.shift();
console.log(arr);
//輸出[2, 3, 4]蕊唐。
- unshift:向數(shù)組的首端添加一個(gè)參數(shù)。例如:
var arr = [2,3,4];
arr.unshift(1);
console.log(arr);
//輸出[1, 2, 3, 4]烁设。
- join:將數(shù)組以指定方式連接成字符串替梨。例如:
var arr = [1,2,3,4];
arr.join('-');
//輸出"1-2-3-4"。
- splice:可以在數(shù)組的任意指定位置刪除装黑、插入或替換相應(yīng)元素副瀑。
//push效果的實(shí)現(xiàn)方法:
var arr = [1, 2, 3];
arr.splice(arr.length,0, 4);
console.log(arr);
//輸出[1, 2, 3, 4]。
//pop效果的實(shí)現(xiàn)方法:
var arr = [1, 2, 3, 4];
arr.splice(arr.length-1,1);
console.log(arr);
//輸出[1, 2, 3]恋谭。
//shift效果的實(shí)現(xiàn)方法:
var arr = [1, 2, 3, 4];
arr.splice(0,1);
console.log(arr);
//輸出[2, 3, 4]糠睡。
//unshift效果的實(shí)現(xiàn)方法:
var arr = [2, 3, 4];
arr.splice(0,0, 1);
console.log(arr);
//輸出[1, 2, 3, 4]。
2疚颊、寫一個(gè)函數(shù)狈孔,操作數(shù)組,數(shù)組中的每一項(xiàng)變?yōu)樵瓉淼钠椒讲囊澹谠瓟?shù)組上操作均抽。
var arr = [2, 4, 6];
function squareArr(arr){
for(i = 0;i < arr.length;i++){
arr.splice(i,1, arr[i]*arr[i]);
}
return arr;
}
console.log(squareArr(arr));
3、寫一個(gè)函數(shù)其掂,操作數(shù)組到忽,返回一個(gè)新數(shù)組,新數(shù)組中只包含正數(shù)清寇,原數(shù)組不變喘漏。
var arr = [3, -1, 2, '饑人谷', true];
function filterPositive(arr){
var newArr =[];
for(var i = 0;i < arr.length;i++){
if((typeof(arr[i]) === 'number') && (arr[i] > 0)){
newArr.push(arr[i]);
}
}
return newArr;
}
var newArr = filterPositive(arr);
console.log(newArr);
console.log(arr);