数组的方法:
push(追加的元素1,追加的元素2...)
在数组的最后追加一个或者多个数据
-追加完成以后会返回一个数组最新的长度
-影响原数组的
var res = arr.push("田七","王八",'高九')
console.log(arr)
console.log(res)
pop()
删除数组的最后一项元素
-返回删除的那一项元素
-影响原数组
var res = arr.pop()
console.log(arr);
console.log(res)
unshift(追加的元素1,追加的元素2...)
在数组的前面追加一个或者多个数据
-返回数组追加以后的最新长度
-影响原数组
var res = arr.unshift("田七","王八")
console.log(arr)
console.log(res)
shift()
删除数组前面的一项数据
-返回被删除的那一项数据
-影响原数组的
var res = arr.shift()
console.log(arr)
console.log(res)
splice(起始的位置,个数,追加的数据,追加的数据...)
增
arr.splice(2,0,"奥特曼",'怪兽') 指定的位置增加内容
删
arr.splice(2,1) 删除指定位置的一个或者多个元素
改
arr.splice(2,1,"奥特曼")
-返回的结果是被删除的那一项或者多项数据组成的数组
-会影响原素组
arr.splice(2) 直接删除2下标包括后面的所有东西
slice(起始下标,结束下标)
截取数组中指定位置的内容,包含起始下标 不包含结束下标
-返回截取以后的数组
-不会影响原数组
arr.slice(2) 截取出来2下标开始后面的所有内容
var arr = ['张三','李四','王五','赵六','田七'];
var resArr = arr.slice(2)
console.log(resArr)
var resArr = arr.slice(0,3)
console.log(resArr)
console.log(arr)
join(以什么连接)
将数组每一项取出来进行字符串拼接,不传参数是以,进行分割的
-返回一个拼接以后的字符串
-不会影响原数组
var arr = ['张三', '李四', '王五', '赵六', '田七'];
var str = arr.join("")
console.log(str)
console.log(arr)
reverse()
反转数组
-返回一个反转以后的数组
-会影响原数组
var arr = ['张三', '李四', '王五', '赵六', '田七'];
var res = arr.reverse()
concat()
拼接一个或者多个数组
-返回一个拼接以后的新的数组
-不会影响原数组
var arr = ['张三', '李四', '王五', '赵六', '田七'];
var arr1 = ['a','b','c']
var arr2 = [1,2,3,4]
var newArr = arr.concat(arr1,arr2)
indexOf(参数)
从前往后查找参数对应第一次出现的的那一项元素的下标 找到了返回下标找不到返回-1
-返回找到下标 找不到返回-1
-不会影响原数组的
var arr = ['张三', '李四', '王五','李四', '赵六', '田七'];
var index = arr.indexOf("奥特曼");
lastIndexOf(参数)
从后往前查找参数对应第一次出现的的那一项元素的下标 找到了返回下标找不到返回-1
-返回找到下标 找不到返回-1
-不会影响原数组的
var arr = ['张三', '李四', '王五','李四', '赵六', '田七'];
var index = arr.lastIndexOf("李四");
includes(参数)
是否包含指定的数据 如果包含返回true 不包含返回false
-返回包含返回true 不包含返回false
-不会影响原数组
var arr = ['张三', '李四', '王五','李四', '赵六', '田七'];
var b = arr.includes("奥特曼");
sort(function(a,b){ return a-b||b-a })
排序
需要传递一个函数
return a-b:升序
return b-a:降序
返回一个排序以后的数组
会影响原数组
var arr = [9, 2, 3, 4, 5, 6, 1, 10]
var res = arr.sort(function (a, b) {
return b - a
})
你会怎么给数组的方法做分类
是否影响原数组
影响原数组:
push、pop、unshift、shift
splice、reverse、sort
不影响是哪一些:
jion indexOf lastIndexOf、includes、coucat、slice
函数:封装一些代码块,可以再指定的位置去调用它,或者反复调用
一。1.使用构造函数的形式创建一个函数
函数返回的数据类型是function
var fn = new Function('console.log("语句1"); console.log("语句2")')
2.使用函数 调用函数 函数名字()
fn()
二.函数表达式方式的形式创建函数
var fn = function(){
console.log("语句1")
console.log("语句2")
}
fn()
三.函数声明方式创建函数
function fn(){
console.log("语句1")
console.log("语句2")
}
fn()
封装一个计算两个数字和的函数
function fn(形参1,形参2...){}
fn(实参1,实参2)
最终实参会一一对应的赋值给形参
没有对应实参 形参的值就undefined
参数可以是任何的数据类型
function sum(a,b,c){
console.log(a,b,c)
}
sum(10,"李四",30,20)
函数可以返回任何数据类型 如果函数内部没返回 默认返回的undefined
封装一个计算两个数字的函数
function sum(n1, n2) {
// 返回结果 return 什么就返回什么
return n1 + n2
}
匿名函数自调用
(function(n1,n2){
console.log("我是函数体",n1,n2)
})(10,20)