定义对象
一:字面量方式 键值对 {key:value,key:value}
二: new 构造函数()
创建构造函数
function 构造函数名([形参]){
this.属性名 = 属性值;
this.方法名 = function([形参]){
.....
}
}
对象方法
增
前增:unshift(新增的元素)
作用:在数组的头部增加新元素
var arr = [1,2,3,4]
console.log(arr.unshift(7,[5,6,4],8));
console.log(arr);//[7,[5,6,4],8,1,2,3,4]
后增:push(新增的元素)
作用:在数组的尾部增加元素
var arr = [3,2,4,5,6];
console.log(arr.push(4,56,[1,3,4]));
console.log(arr)
删
前删 shift()
作用:删除数组的首部元素,一次只能删一个
var arr = [3,2,4,5,6];
console.log(arr.pop());
console.log(arr)//[2, 4, 5,6]
后删 pop()
作用:删除数组的尾部元素,一次只能删一个
var arr = [3,2,4,5,6];
console.log(arr.pop());
console.log(arr)//[3, 2, 4, 5]
任意位置删除
splice(开始的下标,删除的长度,新增的元素...)
作用:在数组的任意位置可以实现增删改
删
var arr = [5,6,7,8,9];
console.log(arr.splice(2)) //删除[7,8,9]
console.log(arr); //[5,6]
var arr = [5,6,7,8,9];
console.log(arr.splice(2,1)) //删除[7]
console.log(arr); //[5,6,8,9]
改
var arr = [5,6,7,8,9];
console.log(arr.splice(2,1,[44,55,66])) // 将[7]改掉
console.log(arr); // [5,6,[44,55,66],8,9]
var arr = [5,6,7,8,9];
console.log(arr.splice(2,1,[44,55,66],true)) // 将[7]改掉
console.log(arr); // [5,6,[44,55,66],true,8,9]
截取数组
slice(start,end)
作用:截取指定范围的数组元素,不会影响原来的数组
var arr = [5,6,7,8,9];
console.log(arr.slice(2,4)) // [7,8]
console.log(arr); // [5,6,7,8,9]
var arr = [5,6,7,8,9];
console.log(arr.slice(2)) // [7,8,9]
console.log(arr); // [5,6,7,8,9]
var arr = [5,6,7,8,9];
console.log(arr.slice(4,2)) // []
console.log(arr); // [5,6,7,8,9]
var arr = [5,6,7,8,9];
console.log(arr.slice(-4,-2)) // [6,7]
console.log(arr); // [5,6,7,8,9]
拼接数组
concat(拼接的元素)
作用:将新的元素拼接到指定的数组的后面,形成新的数组(新数组中有数组,则将最外层数组拆开进行拼接)
返回值:拼接后的新数组
是否影响原数组 否
var arr = [5,6,7,8,9]
console.log(arr.concat(-4,-2,[1,[2,3],4],10)) // 5, 6, 7, 8, 9, -4, -2, 1, [2,3], 4, 10
console.log(arr); // [5,6,7,8,9]
复制数组
var arr = [5,6,7,8,9];
var list = [];
function fnCopyArr(arr){
return arr.slice(0)
}
list = fnCopyArr(arr)
arr[0] = 4;
console.log(arr,list)