1、数组方法里push、pop、shift、unshift、join、splice分别是什么作用?用 splice函数分别实现push、pop、shift、unshift方法。
var arr = [1,2,3];
arr.push(4);
console.log(arr);
//输出[1, 2, 3, 4]。
var arr = [1,2,3,4];
arr.pop();
console.log(arr);
//输出[1, 2, 3]。
var arr = [1,2,3,4];
arr.shift();
console.log(arr);
//输出[2, 3, 4]。
var arr = [2,3,4];
arr.unshift(1);
console.log(arr);
//输出[1, 2, 3, 4]。
var arr = [1,2,3,4];
arr.join('-');
//输出"1-2-3-4"。
- splice:可以在数组的任意指定位置删除、插入或替换相应元素。
//push效果的实现方法:
var arr = [1, 2, 3];
arr.splice(arr.length,0, 4);
console.log(arr);
//输出[1, 2, 3, 4]。
//pop效果的实现方法:
var arr = [1, 2, 3, 4];
arr.splice(arr.length-1,1);
console.log(arr);
//输出[1, 2, 3]。
//shift效果的实现方法:
var arr = [1, 2, 3, 4];
arr.splice(0,1);
console.log(arr);
//输出[2, 3, 4]。
//unshift效果的实现方法:
var arr = [2, 3, 4];
arr.splice(0,0, 1);
console.log(arr);
//输出[1, 2, 3, 4]。
2、写一个函数,操作数组,数组中的每一项变为原来的平方,在原数组上操作。
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、写一个函数,操作数组,返回一个新数组,新数组中只包含正数,原数组不变。
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);