js语法-对象/数组方法

77 阅读2分钟

定义对象

一:字面量方式 键值对  {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)